tag:blogger.com,1999:blog-5869426Thu, 26 Apr 2012 07:25:04 +0000PerformancecompilersConflict ResolutionProbabilityuse casecompetitiondrools webinarcookbookuncertaintyairesservice repositorySimulation and TestingJobTestingmedicalTime-SensitiveGSoCAIjavapolisvideoAd-HocExpert SystemsRuleMLvariablesBusiness RulesDomain Specific LanguagesworkshopjavainfoQJBoss RulesexampleMind MapRules EngineBAMDotNetRulesBusiness Rules ForumFuzzydecision tablesBoot CampDrools Boot CampinterviewEclipseMicroContainerStreamdesignerBrazilianupgrade toolmilestoneBOFSeamquoteJDTshadow factseventORF 2008SOASmooksGUIgrammarDrools ExpertsequentialannouncementDroolsbuenosESPNatural LanguageCamelSSLjBPM5JSONDrools FlowRuleML 2008ReteProduction Rules SystemsDRLremotebrms insurance demo standaloneFactTemplatetraveling tournamentBRMSMVELRule FlowOpen SourceargentinaIKVMBPMNsource codestandardsmachine learningimage processingBackward Chaining.Monitoringmodify blockGISaccumulateDrools FusionCodehausJUGRule AuthoringNegationBusiness Rules GovernanceDynaBeansjunitJFDIRule EnginesKAMSdynamically generated classesORFForm Buildersyntaxshadow proxiesBRMS Guvnor DroolsANTLRService ManagerFedExDSLClipsplannertraitsexaminationsearch spaceJaninoMySQLsemantic webWeb ServicesjBPMconstraint programminggenerated classesResearch NetworkalgorithmcloudLife CycleMISMOBPELLDAPTemplatesjBPM5 webinarcase managementandroidpersistenceRIFLogic Operatorsrelational programmingDebugJessreleaseextensibilityAtomAnalyticsPortugueseMeetupsSynascdrools puzzleComputer GamesProgressJavaOneaccumulate functionProgrammingHealthcareOctober Rules FestGuvnorSwitchYardWordNetSBVRdevoxxoneDrools Chanceplug treePresentationSpringGuicesalaboysolverSavvionOSGihttp://www.blogger.com/img/blank.gifRESTDSL regexp antlrproject proposalsForward Chainingdeclarative programmingvideosCEPbookAPIbrms ajax webcombinatorial optimizationtestscomputer visionfunctional programmingTimeparserdroos ide update-site downloadsexpressivenessDrools & jBPMAll things Artificial Intelligence related: Rules, Processes, Events, Agents, Planning, Ontologies and more :)http://blog.athico.com/noreply@blogger.com (Mark Proctor)Blogger709125DroolsRSShttp://feedburner.google.comtag:blogger.com,1999:blog-5869426.post-2677103095966662773Mon, 23 Apr 2012 07:24:00 +00002012-04-23T08:25:26.397+01:00Computer GamesDroolsDrools Pong hits home<div dir="ltr" style="text-align: left;" trbidi="on"> This weekend I just finished the first cut for the class game Pong. The Wumpus World example I made was well received and the 20 minute YouTube video very populate, <a href="http://www.youtube.com/watch?v=4CvjKqUOEzM">http://www.youtube.com/watch?v=4CvjKqUOEzM</a>. However I've since been asked for something a little simpler and smaller for a getting started example, so I thought I'd do Pong.<br /> <br /> The initial cut was done with a single commit, so it's easy to see all the code in one place:<br /> <a href="https://github.com/droolsjbpm/drools/commit/2a8746a905efe1d9e0cc9f00eae06a50b76b214b">https://github.com/droolsjbpm/drools/commit/2a8746a905efe1d9e0cc9f00eae06a50b76b214b</a><br /> <br /> I'll follow up with a video soon, showing how it was made. <br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://2.bp.blogspot.com/-Ug-XbdIXMcg/T5UDDnE-iUI/AAAAAAAAAsE/rBqQcKWruhA/s1600/pong.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="http://2.bp.blogspot.com/-Ug-XbdIXMcg/T5UDDnE-iUI/AAAAAAAAAsE/rBqQcKWruhA/s320/pong.png" width="320" /></a></div> <br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-2677103095966662773?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kSHvLXNIO7s:jO908zzOM7o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kSHvLXNIO7s:jO908zzOM7o:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kSHvLXNIO7s:jO908zzOM7o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=kSHvLXNIO7s:jO908zzOM7o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kSHvLXNIO7s:jO908zzOM7o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=kSHvLXNIO7s:jO908zzOM7o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kSHvLXNIO7s:jO908zzOM7o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kSHvLXNIO7s:jO908zzOM7o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=kSHvLXNIO7s:jO908zzOM7o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kSHvLXNIO7s:jO908zzOM7o:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/kSHvLXNIO7s" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/kSHvLXNIO7s/drools-pong-hits-home.htmlnoreply@blogger.com (Mark Proctor)0http://blog.athico.com/2012/04/drools-pong-hits-home.htmltag:blogger.com,1999:blog-5869426.post-6301496857329740362Thu, 19 Apr 2012 21:17:00 +00002012-04-19T22:17:46.809+01:00DroolsNatural Language, Tracking and Supply Chain Management With Drools<div dir="ltr" style="text-align: left;" trbidi="on"> I often spend time trawling through google scholar and citeseer, always lots of gems to be found there. Here are three recent papers I thought worth highlighting that utlised Drools in an applied way.<b> </b><br /> <br /> <b>A New Algorithm for the Acquisition of Knowledge from Scientific Literature in Specific Fields Based on Natural Language Comprehension</b><br /> <a href="http://www.scirp.org/fileOperation/downLoad.aspx?path=IJIS20110200002_46860321.pdf&amp;type=journal">http://www.scirp.org/fileOperation/downLoad.aspx?path=IJIS20110200002_46860321.pdf&amp;type=journal</a><br /> <br /> <b>PeerTrack: A Platform for Tracking and Tracing Objects in Large-Scaoe Traceability Networks</b><br /> <a href="http://www.edbt.org/Proceedings/2012-Berlin/papers/edbt/a54-wu.pdf">http://www.edbt.org/Proceedings/2012-Berlin/papers/edbt/a54-wu.pdf</a><br /> <br /> <b>Introducing a Rule-Based Architecture For WorkFlow Systems in Retail Supply Chain Management</b><br /> <a href="http://bada.hb.se/bitstream/2320/10632/1/2011MAGI24.pdf">http://bada.hb.se/bitstream/2320/10632/1/2011MAGI24.pdf</a></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-6301496857329740362?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=gRSzQnkmYhU:L_Ztoy31QZc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=gRSzQnkmYhU:L_Ztoy31QZc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=gRSzQnkmYhU:L_Ztoy31QZc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=gRSzQnkmYhU:L_Ztoy31QZc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=gRSzQnkmYhU:L_Ztoy31QZc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=gRSzQnkmYhU:L_Ztoy31QZc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=gRSzQnkmYhU:L_Ztoy31QZc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=gRSzQnkmYhU:L_Ztoy31QZc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=gRSzQnkmYhU:L_Ztoy31QZc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=gRSzQnkmYhU:L_Ztoy31QZc:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/gRSzQnkmYhU" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/gRSzQnkmYhU/natural-language-tracking-and-supply.htmlnoreply@blogger.com (Mark Proctor)0http://blog.athico.com/2012/04/natural-language-tracking-and-supply.htmltag:blogger.com,1999:blog-5869426.post-9159471038578932852Tue, 10 Apr 2012 14:41:00 +00002012-04-10T16:33:56.766+01:00jBPM Designer version 2.1 released<p>We are happy to announce that we have released version 2.1 of the jBPM Designer. This is a big release which solves many issues we had in 2.0 as well as adds lots of new features. We are especially happy that jBPM Designer will also be included in the up-coming JBoss BRMS 5.3 release.</p> <p>Here is a summary of what’s new and noteworthy in Designer 2.1 and we have also included a video below. Try it out and let us know what you think!</p> <p><strong>New and noteworthy</strong></p> <ul><li>Numerous bug fixes. The number of commits for bug-fixes alone was over 100 between 2.0 and 2.1.</li><li>Increased performance for user interactions with the UI as well as loading time (JavaScript is now served compressed)</li><li>New features: Support for Reusable Subprocesses (Call Activities), Multiple Instance Subprocesses, and Data Objects</li><li>New feature: Support for Stencil set Perspectives. Allows you to specify a specific superset or a subset of supported BPMN2 nodes grouped in a named stencil set</li><li>New feature: New data input editors. We added specific user-friendly editors for Process variables, Globals, Imports, Task Data Inputs/Outputs/Assignments, Called Elements, etc</li><li>New Feature: Process dictionary support. Allows you to define your own process dictionary and use it inside your business processes.</li><li>New Feature: In-Line editing of Process and User Task forms. This new feature allows you to create/modify your process and task forms in-line which is great as you do not have to leave your modelling environment to perform this feature.</li><li>New Feature: Code highlighting and Code completion in Expression editors, code highlighting for process and task form editors and source views.</li><li>New Feature: Smart node deletion – deleting a node will also delete its incoming and outgoing connections unless they specify an expression</li><li>Support for both Drools Guvnor 5.3 and 5.4</li></ul> <p>Here is also a video for the Designer 2.1 release.</p><p><iframe src="http://www.youtube.com/embed/gf6ycCFG_yE" allowfullscreen="" frameborder="0" height="315" width="560"></iframe></p><p>You can download this version <a href="https://sourceforge.net/projects/jbpm/files/designer/designer-2.1/">from soureforge</a> just like the previous ones. Simply replace your existing designer war with the new one. Make sure to clear our your browser cache before starting to use the new version.</p> <p>As always your feedback is more than welcome. Hit us up on IRC if you would like to contribute to the jBPM Designer. Have fun!</p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-9159471038578932852?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ra7fSilRydg:XfT2SXD17Zw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ra7fSilRydg:XfT2SXD17Zw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ra7fSilRydg:XfT2SXD17Zw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=ra7fSilRydg:XfT2SXD17Zw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ra7fSilRydg:XfT2SXD17Zw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=ra7fSilRydg:XfT2SXD17Zw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ra7fSilRydg:XfT2SXD17Zw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ra7fSilRydg:XfT2SXD17Zw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=ra7fSilRydg:XfT2SXD17Zw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ra7fSilRydg:XfT2SXD17Zw:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/ra7fSilRydg" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/ra7fSilRydg/jbpm-designer-version-21-released.htmlnoreply@blogger.com (Tihomir Surdilovic)4http://blog.athico.com/2012/04/jbpm-designer-version-21-released.htmltag:blogger.com,1999:blog-5869426.post-4158368137710253290Tue, 10 Apr 2012 12:24:00 +00002012-04-11T08:12:37.419+01:00Drools 5.4.0.CR1 releasedWe're happy to announce the release of Drools (Expert, Fusion, Planner, Guvnor) <b>5.4.0.CR1</b>.<br /><br /><p>Documentation, Release Notes and Downloads are detailed below:<br /></p><ul><li>Download the zips from the bottom of <a href="http://www.jboss.org/drools/downloads">the drools download page</a>.</li><ul><li>To try out the examples, just unzip one and run a <font style="Courier New&quot;,Courier,monospace;">runExamples.sh/.bat</font> script.</li></ul><ul><li>See the JBoss Maven repository for <a href="https://repository.jboss.org/nexus/index.html#nexus-search;gav%7Eorg.drools*%7E%7E5.4.0.CR1%7E%7E">a list of all released artifacts</a>.</li><ul><li>It will be synced to <a href="http://search.maven.org/#search%7Cga%7CR1%7Corg.drools">Maven Central</a> automatically in a couple of hours.</li></ul></ul><li><b><a href="http://docs.jboss.org/drools/release/5.4.0.CR1/droolsjbpm-introduction-docs/html/releaseNotesSimple.html">Read the new and noteworthy changes here.</a></b></li></ul>Try it out and give us some feed-back (<a href="http://www.jboss.org/drools/lists">user list</a>, <a href="https://issues.jboss.org/browse/JBRULES">issue tracker</a>).<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-4158368137710253290?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=njE6L4yoK08:e5wMOtBHQOo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=njE6L4yoK08:e5wMOtBHQOo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=njE6L4yoK08:e5wMOtBHQOo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=njE6L4yoK08:e5wMOtBHQOo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=njE6L4yoK08:e5wMOtBHQOo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=njE6L4yoK08:e5wMOtBHQOo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=njE6L4yoK08:e5wMOtBHQOo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=njE6L4yoK08:e5wMOtBHQOo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=njE6L4yoK08:e5wMOtBHQOo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=njE6L4yoK08:e5wMOtBHQOo:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/njE6L4yoK08" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/njE6L4yoK08/drools-540cr1-released.htmlnoreply@blogger.com (Toni Rikkola)4http://blog.athico.com/2012/04/drools-540cr1-released.htmltag:blogger.com,1999:blog-5869426.post-236639494908939688Mon, 09 Apr 2012 13:37:00 +00002012-04-11T14:13:47.198+01:00plannerPlain old Java score calculation in PlannerIn <a href="http://www.jboss.org/drools/drools-planner">Drools Planner</a> 5.4.0.CR1, you can now define your score calculation in plain old Java too. In fact, it supports 3 alternative score calculations:<br /> <ul> <li>Simple Java score calculator (new in 5.4)</li> <li>Incremental Java score calculator (new in 5.4)</li> <li>Drools DRL score calculator (the traditional way)</li> </ul> Unfortunately, each of these have advantages and disadvantages. Let's take a look at each of them.<br /><br /> <h2> <span style="font-size: x-large;">Simple Java score calculator</span></h2> This score calculator is very easy to implement. <b>Just implement one method</b>:<br /> <script src="https://gist.github.com/2343333.js?file=gistfile1.java"> </script> For example for NQueens:<br /> <script src="https://gist.github.com/2343358.js?file=NQueensSimpleScoreCalculator" /> </script> It's that easy. <br /> <ul> <li>Advantages</li> <ul> <li>No learning curve: it's plain old Java</li> <li>Can delegate score calculation to an existing codebase</li> <ul> <li>This is especially interesting when you're migrating from a legacy system and want to avoid a big bang conversion.</li> </ul> </ul> <li>Disadvantages</li> <ul> <li>Slow and less scalable, because it does not do incremental score calculation.</li> </ul> </ul><br /> <h2> <span style="font-size: x-large;">Incremental Java score calculator</span></h2> This score calculator is very fast and scalable, but also very hard to implement, because you have to implement incremental score calculation yourself. You need to implement a bunch of methods on IncrementalScoreCalculator to make this happen. Here's a part of one NQueens implementation:<br /> <script src="https://gist.github.com/2343374.js?file=NQueensBasicIncrementalScoreCalculator"> </script> The implementation above isn't that good. Do you see how to optimize it? There's a much faster way to implement the NQueens score calculator, using Maps to avoid having to iterate through the insertedQueenList, but it makes the code even harder to understand.<br /> <ul> <li>Advantages</li> <ul> <li>Very fast and scalable</li> <ul> <li>Currently the fastest if implemented correctly (see benchmarks below)</li> </ul> </ul> <li>Disadvantages</li> <ul> <li>Incremental (AKA delta) calculation is hard to write and to maintain</li> <li>You have to design and write all the performance optimizations yourself.</li> </ul> </ul><br /> <h2> <span style="font-size: x-large;">Drools DRL score calculation</span></h2> This is the traditional and recommended way to implement score constraints, as Drools rules in DRL:<br /> <script src="https://gist.github.com/2343383.js?file=nQueensScoreRules"> </script> Notice the absence of incremental code, because Drools Expert does that for you automatically.<br /> <ul> <li>Advantages</li> <ul> <li>Incremental score calculation without the boilerplate code for it</li> <li>Flexibility for your score rules:</li> <ul> <li>Define them in a decision table (XLS or Guvnor WebUI)</li> <li>Store your rules in the Guvor repository</li> <li>Translate them to natural language with DSL</li> </ul> <li>Explain the score of a solution:</li> <ul> <li>Just iterate over the ConstraintOccurrence instances to explain to the user why that score was the result.</li> </ul> <li>In every major and minor release, Drools Expert becomes faster. There are several notable features on the Drools Expert roadmap that will make the Drools Score Calculator much faster:</li> <ul> <li>More JITting </li> <li><a href="https://issues.jboss.org/browse/JBRULES-3144">Undo then</a></li> <li>Set based propagation</li> </ul> </ul> <li>Disadvantages:</li> <ul> <li>You need to learn and use DRL</li> </ul> </ul><br /> <h2> <span style="font-size: x-large;">Benchmark results</span></h2> Because the score of a solution is always the same, no matter how it's calculated, the only notable measurement is the calculation speed relative to the problem size.<br /> <br /> All benchmarks have be done with a warmup (to avoid JIT and DRL complication delays).<br /><br /> <h3> <span style="font-size: large;">NQueens score calculation&nbsp;</span></h3> The results for 32, 64 and 256 queens:<br /> <div class="separator" style="clear: both; text-align: center;"> &nbsp;<a href="http://4.bp.blogspot.com/-a5PgMdlTg-w/T4LZcmt9yGI/AAAAAAAAAWo/AiL_bwjYZMk/s1600/averageCalculateCountSummaryNQueens.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://4.bp.blogspot.com/-a5PgMdlTg-w/T4LZcmt9yGI/AAAAAAAAAWo/AiL_bwjYZMk/s640/averageCalculateCountSummaryNQueens.png" width="640" /></a></div> <br /> <br /> <br /> Notice how the simple Java score calculator (red) does not scale at all. It starts out OK, but as the problem size gets bigger, it becomes very slow.<br /> <br /> The drools calculator (in yellow - sorry that it's not very visible) starts slow on a trivial problem size, but scales up well. If we increase the number of queens even further, it will easily by-pass the basic incremental Java implementation. There's an well-known lesson to learn there:<b> Don't let the performance results fool you into ignoring the scalability trend.</b><br /> <br /> Notice the speed of the advanced incremental java score calculator (green), but don't forget that it's hard to write and to maintain <a href="https://github.com/droolsjbpm/drools-planner/blob/master/drools-planner-examples/src/main/java/org/drools/planner/examples/nqueens/solver/score/NQueensAdvancedIncrementalScoreCalculator.java#L30">the code</a> behind it.<br /><br /> <h3> <span style="font-size: large;">CloudBalance score calculation</span></h3> This shows the results on 300, 600, 1200 and 2400 processes. The incremental Java score calculator also uses Maps extensively.<br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-Ti_POc60tgo/T4LZiywJjAI/AAAAAAAAAWw/9RZrbzH_PnQ/s1600/averageCalculateCountSummaryCloudBalance.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="http://1.bp.blogspot.com/-Ti_POc60tgo/T4LZiywJjAI/AAAAAAAAAWw/9RZrbzH_PnQ/s640/averageCalculateCountSummaryCloudBalance.png" width="640" /></a></div> <br /> Notice that as the problem scales out, the Drools score calculator comes closer and closer to the hand-crafted incremental Java calculator.<br /><br /> <h3> <span style="font-size: large;">Real problems</span></h3> Both NQueens and CloudBalance are one of 4 toy examples, with only a few constraints. The 9 real examples have far more constraints (leaving more room for inter constraint optimization), so I suspect the benchmark results might be different there.<br /> <br /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-236639494908939688?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwXabyYhgNc:xenauzFWTU0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwXabyYhgNc:xenauzFWTU0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwXabyYhgNc:xenauzFWTU0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=SwXabyYhgNc:xenauzFWTU0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwXabyYhgNc:xenauzFWTU0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=SwXabyYhgNc:xenauzFWTU0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwXabyYhgNc:xenauzFWTU0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwXabyYhgNc:xenauzFWTU0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=SwXabyYhgNc:xenauzFWTU0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwXabyYhgNc:xenauzFWTU0:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/SwXabyYhgNc" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/SwXabyYhgNc/plain-old-java-score-calculation-in.htmlnoreply@blogger.com (Geoffrey De Smet)0http://blog.athico.com/2012/04/plain-old-java-score-calculation-in.htmltag:blogger.com,1999:blog-5869426.post-5336833943034214978Wed, 04 Apr 2012 17:53:00 +00002012-04-04T19:04:52.318+01:00DroolsProlog is Cool Again and Drools the DataBase<div dir="ltr" style="text-align: left;" trbidi="on"> Rich Hickey has just done a interview at InfoQ on Datomic<br /> <a href="http://www.infoq.com/interviews/hickey-datomic">http://www.infoq.com/interviews/hickey-datomic</a><br /> <br /> In his talk he highlights their adoption of DataLog for their query format, and a transition away from an SQL approach to a rule based approach. DataLog is a Prolog derivitive, <a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/Datalog">http://en.wikipedia.org/wiki/Datalog</a>. It's great to see Prolog and rule based systems for query capabilities getting more attention again.<br /> <br /> We added Prolog like capabilities to Drools earlier this year, that provides both queries but also reactive materialised views:<br /> <a class="moz-txt-link-freetext" href="http://blog.athico.com/2011/04/backward-chaining-emerges-in-drools.html">http://blog.athico.com/2011/04/backward-chaining-emerges-in-drools.html</a>&nbsp; <br /> <br /> We are currently working on some proof of concepts around transactions and persistent data structures in Drools, along with OrientDB integration. So I hope we can see Drools the DataBase, via OrientBD integration before end of this summer.</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-5336833943034214978?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=sWj15EtQYkQ:4iPJSSpTMe8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=sWj15EtQYkQ:4iPJSSpTMe8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=sWj15EtQYkQ:4iPJSSpTMe8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=sWj15EtQYkQ:4iPJSSpTMe8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=sWj15EtQYkQ:4iPJSSpTMe8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=sWj15EtQYkQ:4iPJSSpTMe8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=sWj15EtQYkQ:4iPJSSpTMe8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=sWj15EtQYkQ:4iPJSSpTMe8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=sWj15EtQYkQ:4iPJSSpTMe8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=sWj15EtQYkQ:4iPJSSpTMe8:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/sWj15EtQYkQ" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/sWj15EtQYkQ/prolog-is-cool-again-and-drools.htmlnoreply@blogger.com (Mark Proctor)1http://blog.athico.com/2012/04/prolog-is-cool-again-and-drools.htmltag:blogger.com,1999:blog-5869426.post-1874865023819680206Wed, 04 Apr 2012 17:24:00 +00002012-04-04T18:24:31.713+01:00GSoCjBPMGuvnorDroolsGSOC Just 2 days left<div dir="ltr" style="text-align: left;" trbidi="on"> If you want to suggest a project, or claim a project, you have just 2 days left to do so&nbsp; - HURRY UP!!! <br /><a class="moz-txt-link-freetext" href="https://community.jboss.org/wiki/GSoC12Ideas">https://community.jboss.org/wiki/GSoC12Ideas</a> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-1874865023819680206?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kgYXXvKs4yo:1CANS1wBAFI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kgYXXvKs4yo:1CANS1wBAFI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kgYXXvKs4yo:1CANS1wBAFI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=kgYXXvKs4yo:1CANS1wBAFI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kgYXXvKs4yo:1CANS1wBAFI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=kgYXXvKs4yo:1CANS1wBAFI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kgYXXvKs4yo:1CANS1wBAFI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kgYXXvKs4yo:1CANS1wBAFI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=kgYXXvKs4yo:1CANS1wBAFI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=kgYXXvKs4yo:1CANS1wBAFI:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/kgYXXvKs4yo" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/kgYXXvKs4yo/gsoc-just-2-days-left.htmlnoreply@blogger.com (Mark Proctor)0http://blog.athico.com/2012/04/gsoc-just-2-days-left.htmltag:blogger.com,1999:blog-5869426.post-1395440976988718571Tue, 27 Mar 2012 19:14:00 +00002012-03-27T20:54:09.230+01:00decision tablesGuvnorGuvnor - Improved default value handlingSome things start simple.<br /><br />Take the "Default Value Editor" for example. This simple editor provides the means to define a default value for columns' cell values for the Guided Decision Table editor. When a new row is inserted the cell assumes it's default value. Simple.<br /><br />The Default Value Editor has always been a TextBox and it was time it was improved to be consistent with the new improved "typed" <a href="http://blog.athico.com/2012/03/guvnor-recent-improvements.html">editors</a> used through-out Guvnor (with CR1 looming more extensive enhancements take a back seat).<br /><br />The requirement was simple: make the editor suitable for the data-type of the column.<br /><br />After the first day of re-factoring it became apparent things were not going to be quite as simple as I'd hoped. Things needing consideration:-<br /><ul><li>If a "Value List" is provided, the default value needs to be one of the values in the list</li><li>If the column represents a field with an enumeration the default value must be one of the enumeration's members</li><li>If the column uses an operator that does not need a value (e.g. "is null") a default value cannot be provided</li><li>If the column field is a "dependent enumeration" the default value must be one of the permitted values based upon parent enumeration default values, if any.</li><li>Default values are not required for Limited Entry tables.</li><li>Default values always remain optional.</li><li>Default values can be defined in either the Guided Decision Table editor or the Guided Decision Table Wizard.</li></ul>The changes are now complete and committed to <a href="https://github.com/droolsjbpm/guvnor">github</a> in time for the CR1 branch. If you use decision tables, if you use default values be sure to check it out before Final.<br /><br /><span style="font-size:85%;"><span style="font-weight: bold;">Setting the default value of a Date column</span></span><br /><br /><a href="http://2.bp.blogspot.com/-ke1R1ch9bJA/T3IaFSHoIqI/AAAAAAAAAks/7WSfnusWC9Q/s1600/dtable-default-1.png"><img style="cursor:pointer; cursor:hand;width: 382px; height: 400px;" src="http://2.bp.blogspot.com/-ke1R1ch9bJA/T3IaFSHoIqI/AAAAAAAAAks/7WSfnusWC9Q/s400/dtable-default-1.png" alt="" id="BLOGGER_PHOTO_ID_5724666754406818466" border="0" /></a><br /><span style="font-size:85%;"><span style="font-weight: bold;"><br />Setting the default value of a cell with a Value List</span><br style="font-weight: bold;"></span><br /><a href="http://2.bp.blogspot.com/-ZG-7ds5-080/T3IZEzs6P6I/AAAAAAAAAkg/8GPWUbR2ZwU/s1600/dtable-default-2.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 277px;" src="http://2.bp.blogspot.com/-ZG-7ds5-080/T3IZEzs6P6I/AAAAAAAAAkg/8GPWUbR2ZwU/s400/dtable-default-2.png" alt="" id="BLOGGER_PHOTO_ID_5724665646730067874" border="0" /></a><br /><br />What started as a quick enhancement before CR1 turned out to be more extensive than expected.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-1395440976988718571?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=A_DWlTaamQo:6fPRD4rC4QU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=A_DWlTaamQo:6fPRD4rC4QU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=A_DWlTaamQo:6fPRD4rC4QU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=A_DWlTaamQo:6fPRD4rC4QU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=A_DWlTaamQo:6fPRD4rC4QU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=A_DWlTaamQo:6fPRD4rC4QU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=A_DWlTaamQo:6fPRD4rC4QU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=A_DWlTaamQo:6fPRD4rC4QU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=A_DWlTaamQo:6fPRD4rC4QU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=A_DWlTaamQo:6fPRD4rC4QU:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/A_DWlTaamQo" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/A_DWlTaamQo/guvnor-improved-default-value-handling.htmlnoreply@blogger.com (Michael Anstis)0http://blog.athico.com/2012/03/guvnor-improved-default-value-handling.htmltag:blogger.com,1999:blog-5869426.post-7051538599036476295Sat, 24 Mar 2012 03:39:00 +00002012-03-24T03:39:15.948Zsemantic webDroolsProtege 3.5 Alpha released with Drools SWRLTab support<div dir="ltr" style="text-align: left;" trbidi="on"> Thanks to<a href="http://bmir.stanford.edu/people/view.php/martin_j_oconnor"> Martin O'Connor, from Stanford,</a> for implementing the Drools SWRLTab for Protege: <br /> <a href="http://protegewiki.stanford.edu/wiki/Protege_3.5_Alpha_Release_Notes%20">http://protegewiki.stanford.edu/wiki/Protege_3.5_Alpha_Release_Notes&nbsp;</a><br /> ----- <br /> <div dir="ltr" style="text-align: left;" trbidi="on"> <b>We are pleased to announce Protege 3.5 alpha! The main focus of the 3.5 series is the SWRLTab's support of the Drools rule engine, thus providing a completely free and open source solution for executing SWRL rules in Protege-OWL.</b> <br /> <br /> Please contact us via one of the <a class="external text" href="http://protege.stanford.edu/community/lists.html" rel="nofollow">Protege 3 mailing lists</a> with questions, feedback, and bug reports. <br /> Download <a class="external text" href="http://protege.stanford.edu/download/registered.html#p3.5" rel="nofollow">Protege 3.5 alpha</a> from the main Protege website (new users, please <a class="external text" href="http://protege.stanford.edu/download/register.html" rel="nofollow">register first</a>). <br /> <h2> <span class="mw-headline" id="Release_Notes"> Release Notes </span></h2> The contents of the release notes section describe changes relative to Protege 3.4.8. <br /> <h3> <span class="mw-headline" id="Build_643_--_March_23.2C_2012"> Build 643 -- March 23, 2012 </span></h3> The <a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab" rel="nofollow">SWRLTab</a> now supports the <a class="external text" href="http://www.jboss.org/drools" rel="nofollow">Drools</a> rule engine.<br /> <br /> A new tab called the <a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SWRLDroolsTab" rel="nofollow">SWRLDroolsTab</a> provides a graphical interface for interacting with this implementation. The existing <a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SWRLJessTab" rel="nofollow">SWRLJessTab</a> is still available. All existing <a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTabBuiltInLibraries" rel="nofollow">SWRL built-in libraries</a> are supported in the Drools implementation.<br /> <br /> Both the Drools and Jess implementations now use a pair of <a class="external text" href="http://www.w3.org/TR/owl2-profiles/#OWL_2_RL" rel="nofollow">OWL 2 RL</a>-based reasoners for performing inference (<a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTabOWL2RL" rel="nofollow">read more</a>). These reasoners are also used by the <a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SQWRL" rel="nofollow">SQWRL</a> query language.<br /> <br /> The Java APIs provided by the SWRLTab have changed slightly so users of these APIs will need to update their code. Information on these changes can be found <a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTabAPIUpdating" rel="nofollow">here</a>. The process of building the SWRLTab and its associated rule engines has also changed. The new build process is outlined <a class="external text" href="http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTabBuilding" rel="nofollow">here</a>.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://protegewiki.stanford.edu/images/e/e1/SWRLDroolsTab.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="209" src="http://protegewiki.stanford.edu/images/e/e1/SWRLDroolsTab.png" width="320" /></a></div> </div> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-7051538599036476295?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Nr6QpSz5nOQ:UmwENQ3I3JI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Nr6QpSz5nOQ:UmwENQ3I3JI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Nr6QpSz5nOQ:UmwENQ3I3JI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Nr6QpSz5nOQ:UmwENQ3I3JI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Nr6QpSz5nOQ:UmwENQ3I3JI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Nr6QpSz5nOQ:UmwENQ3I3JI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Nr6QpSz5nOQ:UmwENQ3I3JI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Nr6QpSz5nOQ:UmwENQ3I3JI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Nr6QpSz5nOQ:UmwENQ3I3JI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Nr6QpSz5nOQ:UmwENQ3I3JI:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/Nr6QpSz5nOQ" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/Nr6QpSz5nOQ/protege-35-alpha-released-with-drools.htmlnoreply@blogger.com (Mark Proctor)0http://blog.athico.com/2012/03/protege-35-alpha-released-with-drools.htmltag:blogger.com,1999:blog-5869426.post-5491014105547882312Thu, 15 Mar 2012 15:39:00 +00002012-03-15T17:01:25.370ZGuvnorGuvnor - Recent improvements<span style="font-size:100%;">Other than a sighting at the London B</span><span style="font-size:100%;">RMS 2012 event last week it would appear I have been somewhat quiet in recent weeks. This, it can be argued, is a good thing ;)<br /><br />However I've just finished a couple of improvements to Guvnor for CR1 I thought it worth telling you about:-</span><br /><br /><span style="font-weight: bold;">Improved numeric data-type handling</span><br style="font-weight: bold;"><br />To be honest, numerical data-types in Guvnor have not been supported that well in the past. The best you'd get, to edit such values, was a text box that had very limited restriction on what could be entered. This was largely because the heart of Guvnor used to drive most of the editors was only aware of a generic "numerical" type.<br /><br />With a little bit of blood, sweat and tears this has now been improved to differentiate between all of Java's primitive numerical types (byte, short, integer, long, double and float) together with BigDecimal and BigInteger. When adding a numerical field to a rule you now get an editor relevant for the type with more strict validation.<br /><br /><a href="http://1.bp.blogspot.com/-v-aLo3V83_0/T2IPNpsaXlI/AAAAAAAAAjM/4mWe_FoIQBw/s1600/guvnor-numeric-value-editors.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 155px;" src="http://1.bp.blogspot.com/-v-aLo3V83_0/T2IPNpsaXlI/AAAAAAAAAjM/4mWe_FoIQBw/s400/guvnor-numeric-value-editors.png" alt="" id="BLOGGER_PHOTO_ID_5720151203918798418" border="0" /></a><br /><br />DRL generation has subsequently been improved to ensure the distinction between numerical sub-types is rendered correctly (most notably the treatment of BigDecimal and BigInteger in the right-hand-side of a rule for Java or MVEL dialects).<br /><br /><span style="font-size:85%;"><span style="font-weight: bold;">MVEL DRL example</span><br /><blockquote><span style="font-family:courier new;">rule "brl"</span><br style="font-family:courier new;"><span style="font-family:courier new;">dialect "mvel"</span><br style="font-family:courier new;"><span style="font-family:courier new;">when</span><br style="font-family:courier new;"><span style="font-family:courier new;"> $c : Container( )</span><br style="font-family:courier new;"><span style="font-family:courier new;">then</span><br style="font-family:courier new;"><span style="font-family:courier new;"> $c.setBi( 35352324242424242424I );</span><br style="font-family:courier new;"><span style="font-family:courier new;"> $c.setBd( 4343.3434344343B );</span><br style="font-family:courier new;"><span style="font-family:courier new;"> update( $c );</span><br style="font-family:courier new;"><span style="font-family:courier new;">end</span><br /></blockquote></span><span style="font-weight: bold;font-size:85%;" >Java DRL example</span><span style="font-size:85%;"><blockquote><span style="font-family:courier new;">rule "brl"</span><br style="font-family:courier new;"><span style="font-family:courier new;">dialect "java"</span><br style="font-family:courier new;"><span style="font-family:courier new;">when</span><br style="font-family:courier new;"><span style="font-family:courier new;"> $c : Container( )</span><br style="font-family:courier new;"><span style="font-family:courier new;">then</span><br style="font-family:courier new;"><span style="font-family:courier new;"> $c.setBi( new java.math.BigInteger("35352324242424242424") );</span><br style="font-family:courier new;"><span style="font-family:courier new;"> $c.setBd( new java.math.BigDecimal("4343.3434344343") );</span><br style="font-family:courier new;"><span style="font-family:courier new;"> update( $c );</span><br style="font-family:courier new;"><span style="font-family:courier new;">end</span><br face="courier new"></blockquote></span><span style="font-weight: bold;font-size:100%;" ><br />Dependent enumerations<br /></span><br /><span style="font-size:100%;">Dependent enumerations are now available to the Web Guided Decision Table editor in Guvnor. A dependent enumeration is one whose values depend upon the value of another (parent) enumeration. Examples include Continent\Country\Region, Manufacturer\Product etc.<br /><br />Dependent enumerations are available to both Extended Entry and Limited Entry tables; together with appropriat</span><span style="font-size:100%;">e expansion when generating an expanded form table.<br /><br /></span><span style="font-size:85%;"><span style="font-size:85%;"><a href="http://2.bp.blogspot.com/-RZ1mTX2aZ7U/T2ITfmTr_tI/AAAAAAAAAjY/I-7uBDhPf8k/s1600/dtable-dependent-enums.png"><img style="cursor:pointer; cursor:hand;width: 379px; height: 159px;" src="http://2.bp.blogspot.com/-RZ1mTX2aZ7U/T2ITfmTr_tI/AAAAAAAAAjY/I-7uBDhPf8k/s400/dtable-dependent-enums.png" alt="" id="BLOGGER_PHOTO_ID_5720155910293946066" border="0" /></a></span></span><br /><br /><span style="font-size:100%;">Dependent enumerations also function in the BRL Rule Editor and Rule Templates.<br /><br /></span>For those wanting to see dependent enumerations in action and can't wait for CR1 here's a quick video demonstrating them: The dependent enumerations are shown first, then a new expanded form decision table is generated before being edited.<br /><br /><iframe src="http://player.vimeo.com/video/38576157" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" width="500" frameborder="0" height="316"></iframe><br /><br />A couple of regressions were noticed by a vigilant community user (thanks Nicolas Héron) and have been subsequently fixed. The changes for both enhancements have been extensive hence I would urge you to download and try CR1, when it becomes available, so anything else untoward can be squashed before 5.4.0.Final.<br /><br />Enjoy.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-5491014105547882312?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Q1EYwA_ApLo:AKXqnblxmJQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Q1EYwA_ApLo:AKXqnblxmJQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Q1EYwA_ApLo:AKXqnblxmJQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Q1EYwA_ApLo:AKXqnblxmJQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Q1EYwA_ApLo:AKXqnblxmJQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Q1EYwA_ApLo:AKXqnblxmJQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Q1EYwA_ApLo:AKXqnblxmJQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Q1EYwA_ApLo:AKXqnblxmJQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Q1EYwA_ApLo:AKXqnblxmJQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Q1EYwA_ApLo:AKXqnblxmJQ:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/Q1EYwA_ApLo" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/Q1EYwA_ApLo/guvnor-recent-improvements.htmlnoreply@blogger.com (Michael Anstis)3http://blog.athico.com/2012/03/guvnor-recent-improvements.htmltag:blogger.com,1999:blog-5869426.post-753086914897054495Tue, 13 Mar 2012 14:45:00 +00002012-03-13T14:45:26.808ZRuleMLRuleML2012 - The 6th International Symposium on Rules<div dir="ltr" style="text-align: left;" trbidi="on"> <span class="text">====================================================================*<br /> * RuleML2012@ECAI - 6th International Symposium on Rules: *<br /> * Research Based and Industry Focused *<br /> * Montpellier, France, August 27-29, 2012. *<br /> * </span> <a href="http://2012.ruleml.org/" target="_blank">http://2012.ruleml.org</a> <span class="text"> *<br /> ====================================================================*<br /> <br /> The International Symposium on Rules, RuleML, has evolved from an annual series<br /> of international workshops since 2002, international conferences in 2005 and<br /> 2006, and international symposia since 2007. This year the RuleML Symposium<br /> will be held in conjunction with ECAI 2012, the 20th biennial European<br /> Conference on Artificial Intelligence, in Montpellier, France, August 27-29,<br /> 2012. RuleML 2012 will include the RuleML Challenge Prize which awards the best<br /> two demos.<br /> <br /> Topics<br /> ============================================<br /> We invite high-quality submissions related to (but not limited to) one or more<br /> of the following topics:<br /> <br /> * Rules and Automated Reasoning<br /> * Logic Programming and Non-monotonic Reasoning<br /> * Int'l Conference track on Pragmatic Web<br /> * Rule-Based Policies, Reputation and Trust<br /> * Rule-based Event Processing and Reaction Rules<br /> * Fuzzy Rules and Uncertainty<br /> * Rule Transformation, Extraction and Learning<br /> * Vocabularies, Ontologies, and Business rules<br /> * Rules in online-market research and online marketing<br /> * Rule Markup Languages and Rule Interchange<br /> * General Rule Topics<br /> <br /> Important Dates<br /> ============================================<br /> Abstract submission: March 25, 2012<br /> Paper submission: April 1, 2012<br /> Notification of acceptance/rejection: May 20, 2012<br /> Camera-ready copy due: June 10, 2012<br /> RuleML-2012 dates: August 27-29, 2012<br /> <br /> Satellite Events<br /> ============================================<br /> The RuleML2012 Symposium is also hosting<br /> * The 7th AIS SigPrag Int.'l Conference Track on Pragmatic Web<br /> * The RuleML2012 Doctoral Consortium: </span> <a href="http://2012.ruleml.org/phdconsortium" target="_blank">http://2012.ruleml.org/phdconsortium</a> <span class="text"><br /> * The 6th International Rule Challenge: </span> <a href="http://2012.ruleml.org/rulechallenge" target="_blank">http://2012.ruleml.org/rulechallenge</a> <span class="text"><br /> * Face-to-Face LegalRuleML OASIS TC meeting: 29 August, 2012<br /> ============================================</span><br /> <span class="text"><a href="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&amp;discussionID=100727275&amp;gid=2190838&amp;commentID=-1&amp;trk=eml-anet_ancmt-b-0&amp;ut=2IVdbHDC3QFR81">Comments</a>: </span><br /> <span style="color: #666666; display: block; font-size: 11px; padding-top: 7px;">Posted By Prof. Dr. Adrian Paschke</span> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-753086914897054495?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=2YU6ghpunDo:ODg1s0heUFE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=2YU6ghpunDo:ODg1s0heUFE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=2YU6ghpunDo:ODg1s0heUFE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=2YU6ghpunDo:ODg1s0heUFE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=2YU6ghpunDo:ODg1s0heUFE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=2YU6ghpunDo:ODg1s0heUFE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=2YU6ghpunDo:ODg1s0heUFE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=2YU6ghpunDo:ODg1s0heUFE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=2YU6ghpunDo:ODg1s0heUFE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=2YU6ghpunDo:ODg1s0heUFE:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/2YU6ghpunDo" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/2YU6ghpunDo/ruleml2012-6th-international-symposium.htmlnoreply@blogger.com (Mark Proctor)0http://blog.athico.com/2012/03/ruleml2012-6th-international-symposium.htmltag:blogger.com,1999:blog-5869426.post-7630974967296596187Sat, 10 Mar 2012 16:03:00 +00002012-03-10T16:06:17.889ZGet ready for jBPM Web Designer 2.1!!<a href="http://4.bp.blogspot.com/-7EucWG0uwJ4/T1t7tJii_iI/AAAAAAAAEfQ/cwiEqWt2E94/s1600/Screen%2Bshot%2B2012-03-10%2Bat%2B9.39.33%2BAM.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 138px;" src="http://4.bp.blogspot.com/-7EucWG0uwJ4/T1t7tJii_iI/AAAAAAAAEfQ/cwiEqWt2E94/s320/Screen%2Bshot%2B2012-03-10%2Bat%2B9.39.33%2BAM.png" alt="" id="BLOGGER_PHOTO_ID_5718300167462125090" border="0" /></a><br /><br /><br />We are close to releasing a new version of the jBPM Web Designer. This version will include awesome new features and numerous bug fixes - <a href="http://surdilovic.wordpress.com/2012/03/10/get-ready-for-jbpm-web-designer-2-1/">read all about it here</a>!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-7630974967296596187?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=MTjfRUNPkkE:eheDIS-V1bw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=MTjfRUNPkkE:eheDIS-V1bw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=MTjfRUNPkkE:eheDIS-V1bw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=MTjfRUNPkkE:eheDIS-V1bw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=MTjfRUNPkkE:eheDIS-V1bw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=MTjfRUNPkkE:eheDIS-V1bw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=MTjfRUNPkkE:eheDIS-V1bw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=MTjfRUNPkkE:eheDIS-V1bw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=MTjfRUNPkkE:eheDIS-V1bw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=MTjfRUNPkkE:eheDIS-V1bw:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/MTjfRUNPkkE" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/MTjfRUNPkkE/get-ready-for-jbpm-web-designe-21.htmlnoreply@blogger.com (Tihomir Surdilovic)0http://blog.athico.com/2012/03/get-ready-for-jbpm-web-designe-21.htmltag:blogger.com,1999:blog-5869426.post-2793627612699431348Tue, 06 Mar 2012 09:33:00 +00002012-03-06T09:34:19.500ZDrools Boot CampjBPMBoot CampDroolsDrools & jBPM Event : London 8th March 2012<div dir="ltr" style="text-align: left;" trbidi="on"> Register now to join us for the free Drools &amp; jBPM London 2012 event, hurry limited spaces :)<br /> <a href="http://redhat-mail.com/t/XRU-OE4J-824IMOYW1D/cr.aspx">http://redhat-mail.com/t/XRU-OE4J-824IMOYW1D/cr.aspx</a><br /> <br /> <br /> <span style="font-size: 14px; font-weight: 700;">When </span>Thursday 8th March<br /> <span style="font-size: 14px; font-weight: 700;">Where</span> Ave Maria Lane, London, London EC4M 7DD (near St Paul's Tube)<br /> <br /> <br /> <table border="0" cellpadding="0" cellspacing="0" style="background-color: #ab0000; color: #323232; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; width: 215px;"><tbody> <tr><td style="width: 15px;"><br /></td> <td style="color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; width: 100px;">Agenda</td> <td style="background-color: white; width: 100px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="background-color: white; width: 100px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" style="background-color: #171717; width: 215px;"><tbody> <tr> <td colspan="3" style="height: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; width: 185px;"><table border="0" cellpadding="0" cellspacing="0" style="color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; width: 185px;"> <tbody> <tr> <td style="vertical-align: top;">09:00</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td>Registration, tea and coffee</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">09:30</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Introduction/ Welcome</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">09:45</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">Rules, Events &amp; Processes: the Open Source way</span><br /> Mark Proctor - Worldwide Technical Lead for BRMS &amp; BPMS, Red Hat</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">10:45</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">Decision Tables</span><br /> Michael Anstis, JBoss Core Developer, Red Hat </td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">11:15</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Tea/Coffee Break</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">11:30</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">BPMN2 and jBPM5</span><br /> Kris Verlaenen, JBoss Core Developer, Red Hat </td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">12:15</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">Solving Planning Problems</span><br /> Geoffrey de Smet, JBoss Core Developer, Red Hat </td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">12:45</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Case Studies</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">13:00</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Lunch and Networking </td></tr> </tbody></table> </td></tr> </tbody></table> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-2793627612699431348?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=aCOqtiMnrdI:BGZWlysZmNA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=aCOqtiMnrdI:BGZWlysZmNA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=aCOqtiMnrdI:BGZWlysZmNA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=aCOqtiMnrdI:BGZWlysZmNA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=aCOqtiMnrdI:BGZWlysZmNA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=aCOqtiMnrdI:BGZWlysZmNA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=aCOqtiMnrdI:BGZWlysZmNA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=aCOqtiMnrdI:BGZWlysZmNA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=aCOqtiMnrdI:BGZWlysZmNA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=aCOqtiMnrdI:BGZWlysZmNA:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/aCOqtiMnrdI" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/aCOqtiMnrdI/drools-jbpm-event-london-8th-march-2012.htmlnoreply@blogger.com (Mark Proctor)3http://blog.athico.com/2012/03/drools-jbpm-event-london-8th-march-2012.htmltag:blogger.com,1999:blog-5869426.post-3270414398267530980Sun, 04 Mar 2012 16:17:00 +00002012-03-16T12:01:06.925ZplannerVehicle routing demo videoWhat's the optimal way to supply all locations with their request items, using 6 vehicles with a capacity of 100 items each?<br /> <iframe allowfullscreen="" frameborder="0" height="480" src="http://www.youtube.com/embed/GybpV0uLrxc" width="640"></iframe> <br /> This example will be part of Planner 5.4.0.CR1 :)<br /> <br /> <b>Update (16-MAR-2012):</b><br /> <br /> In the latest version, I've pimped the GUI a little bit to make it more clear what vehicle routing does: <b><br /></b><br /> <b>&nbsp;</b> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://1.bp.blogspot.com/-qgxA7N4EyG0/T2MrLjDz-SI/AAAAAAAAARU/OaDnpxKz7Vw/s1600/vehicleRoutingScreenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="554" src="http://1.bp.blogspot.com/-qgxA7N4EyG0/T2MrLjDz-SI/AAAAAAAAARU/OaDnpxKz7Vw/s640/vehicleRoutingScreenshot.png" width="640" /></a></div> <br /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-3270414398267530980?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwL54LPnoUc:TPw_PdaYvgo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwL54LPnoUc:TPw_PdaYvgo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwL54LPnoUc:TPw_PdaYvgo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=SwL54LPnoUc:TPw_PdaYvgo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwL54LPnoUc:TPw_PdaYvgo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=SwL54LPnoUc:TPw_PdaYvgo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwL54LPnoUc:TPw_PdaYvgo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwL54LPnoUc:TPw_PdaYvgo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=SwL54LPnoUc:TPw_PdaYvgo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=SwL54LPnoUc:TPw_PdaYvgo:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/SwL54LPnoUc" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/SwL54LPnoUc/vehicle-routing-demo-video.htmlnoreply@blogger.com (Geoffrey De Smet)0http://blog.athico.com/2012/03/vehicle-routing-demo-video.htmltag:blogger.com,1999:blog-5869426.post-8014722417833233797Sat, 03 Mar 2012 19:41:00 +00002012-03-03T19:52:33.661ZplannerChained: the trick behind solving TSP and VRP in Planner with minimal codeStarting from 5.4.0.CR1 (soon to be released), <a href="http://www.jboss.org/drools/drools-planner">Planner</a> will have chained support: a feature specifically designed to help solve Traveling Salesman and Vehicle Routing like problems with minimal code. It's compatible with all the other planner features (construction heuristics, metaheuristics, real-time planning, ...) and it replaces a ton boilerplate code I used to have in the TSP example.<br /> <br /> From the documentation: <br /> <br /> <div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: #333333; font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> A planning variable that is chained either:</div> <div class="itemizedlist" style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: #333333; font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin-top: 0.6em; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> <ul style="list-style-image: url(file:///home/gdesmet/projects/jboss/droolsjbpm/drools-planner/drools-planner-docs/target/docbook/publish/en-US/html_single/images/community/dot.png); list-style-type: circle; padding-left: 1.6em;"> <li style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0.5em; padding-left: 0.2em;"><div style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0em; padding-left: 0em !important; padding-right: 0em !important; padding-top: 0em !important;"> Directly points to a planning fact, which is called an<span class="Apple-converted-space">&nbsp;</span><span class="emphasis"><i>anchor</i></span>.</div> </li> <li style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0.5em; padding-left: 0.2em;"><div style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0em; padding-left: 0em !important; padding-right: 0em !important; padding-top: 0em !important;"> Points to another planning entity with the same planning variable, which recursively points to an anchor.</div> </li> </ul> </div> <div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: #333333; font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> Here are some example of valid and invalid chains:</div> <br /> <div class="separator" style="clear: both; text-align: center;"> <img border="0" height="480" src="http://1.bp.blogspot.com/-XIK4gIU4TJI/T1JywKpTWqI/AAAAAAAAARA/TIKye-bh_Z8/s640/chainPrinciples.png" width="640" /></div> <div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: #333333; font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> <span class="bold"><b>Every initialized planning entity is part of an open-ended chain that begins from an anchor.</b></span><span class="Apple-converted-space">&nbsp;</span>A valid model means that:</div> <div class="itemizedlist" style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: #333333; font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin-top: 0.6em; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> <ul style="list-style-image: url(file:///home/gdesmet/projects/jboss/droolsjbpm/drools-planner/drools-planner-docs/target/docbook/publish/en-US/html_single/images/community/dot.png); list-style-type: circle; padding-left: 1.6em;"> <li style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0.5em; padding-left: 0.2em;"><div style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0em; padding-left: 0em !important; padding-right: 0em !important; padding-top: 0em !important;"> A chain is never a loop. The tail is always open.</div> </li> <li style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0.5em; padding-left: 0.2em;"><div style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0em; padding-left: 0em !important; padding-right: 0em !important; padding-top: 0em !important;"> Every chain always has exactly 1 anchor. The anchor is a problem fact, never a planning entity.</div> </li> <li style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0.5em; padding-left: 0.2em;"><div style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0em; padding-left: 0em !important; padding-right: 0em !important; padding-top: 0em !important;"> A chain is never a tree, it is always a line. Every anchor or planning entity has at most 1 trailing planning entity.</div> </li> <li style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0.5em; padding-left: 0.2em;"><div style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0em; padding-left: 0em !important; padding-right: 0em !important; padding-top: 0em !important;"> Every initialized planning entity is part of a chain.</div> </li> <li style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0.5em; padding-left: 0.2em;"><div style="margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; padding-bottom: 0em; padding-left: 0em !important; padding-right: 0em !important; padding-top: 0em !important;"> An anchor with no planning entities pointing to it, is also considered a chain.</div> </li> </ul> </div> <div style="color: #333333; font-family: 'Lucida Grande',Geneva,Verdana,Arial,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> The optimization algorithms and build-in<span class="Apple-converted-space">&nbsp;</span><code class="literal" style="font-family: courrier, monospace; font-size: 0.9em; white-space: nowrap;">MoveFactory</code>'s do chain correction to guarantee that the model stays valid:</div> <div style="color: #333333; font-family: 'Lucida Grande',Geneva,Verdana,Arial,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> <br /></div> <div class="separator" style="clear: both; text-align: center;"> <img border="0" height="480" src="http://1.bp.blogspot.com/-_DTF_6NVwXM/T1JzCz3h-iI/AAAAAAAAARI/5sqtRlKchR8/s640/chainCorrection.png" width="640" /></div> <div style="color: #333333; font-family: 'Lucida Grande',Geneva,Verdana,Arial,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> &nbsp;&nbsp;</div> <div style="color: #333333; font-family: 'Lucida Grande',Geneva,Verdana,Arial,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> <br /></div> <div style="color: #333333; font-family: 'Lucida Grande',Geneva,Verdana,Arial,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"> Stay tuned... Vehicle routing (with capacity limits) demo video coming soon :) </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-8014722417833233797?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=NJdHgxfTMck:GFm-Hdjj_q8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=NJdHgxfTMck:GFm-Hdjj_q8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=NJdHgxfTMck:GFm-Hdjj_q8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=NJdHgxfTMck:GFm-Hdjj_q8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=NJdHgxfTMck:GFm-Hdjj_q8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=NJdHgxfTMck:GFm-Hdjj_q8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=NJdHgxfTMck:GFm-Hdjj_q8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=NJdHgxfTMck:GFm-Hdjj_q8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=NJdHgxfTMck:GFm-Hdjj_q8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=NJdHgxfTMck:GFm-Hdjj_q8:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/NJdHgxfTMck" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/NJdHgxfTMck/chained-trick-behind-solving-tsp-and.htmlnoreply@blogger.com (Geoffrey De Smet)6http://blog.athico.com/2012/03/chained-trick-behind-solving-tsp-and.htmltag:blogger.com,1999:blog-5869426.post-8154319470468182962Thu, 01 Mar 2012 04:44:00 +00002012-03-01T12:09:21.627ZComputer GamesDroolsBuild a Graphical Adventure Game in 20 minutes using JBoss Drools : All Hail the Wumpus<div dir="ltr" style="text-align: left;" trbidi="on"> <a href="http://www.youtube.com/watch?v=4CvjKqUOEzM%20">http://www.youtube.com/watch?v=4CvjKqUOEzM&nbsp;</a><br /> <br /> Today we take you on a 20 minute adventure. Building, almost from scratch, a complete graphical adventure game with Drools. The code will be part of the up coming Drools 5.4 release. The game is based on Wumpus World, from the book Artificial Intelligence: a Modern Approach.<br /> <br /> All Hail the Wumpus<br /> <br /> <div dir="ltr" style="text-align: left;" trbidi="on"> <div class="separator" style="clear: both; text-align: center;"> </div> <div class="separator" style="clear: both; text-align: center;"> </div> <div class="separator" style="clear: both; text-align: center;"> <object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/4CvjKqUOEzM/0.jpg" height="266" width="320"> <param name="allowFullScreen" value="true"> </param> <param name="movie" value="http://www.youtube.com/v/4CvjKqUOEzM&fs=1&source=uds&hd=1" /> <param name="bgcolor" value="#FFFFFF" /> <embed width="320" height="266" src="http://www.youtube.com/v/4CvjKqUOEzM&fs=1&source=uds&hd=1" allowfullscreen="true" type="application/x-shockwave-flash"></embed></object></div> <br /></div> Please vote up on the dzone link at the bottom<br /> <br /> For those wanting to try this now, you can use the latest snapshot build from hudson. It uses the new property specific extensions, so the examples cannot be run against older binaries.<br /> <a class="moz-txt-link-freetext" href="https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/drools-distribution/target/">https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/drools-distribution/target/</a> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-8154319470468182962?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=tEmwK2d43Ok:9zF3XeIkL54:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=tEmwK2d43Ok:9zF3XeIkL54:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=tEmwK2d43Ok:9zF3XeIkL54:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=tEmwK2d43Ok:9zF3XeIkL54:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=tEmwK2d43Ok:9zF3XeIkL54:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=tEmwK2d43Ok:9zF3XeIkL54:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=tEmwK2d43Ok:9zF3XeIkL54:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=tEmwK2d43Ok:9zF3XeIkL54:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=tEmwK2d43Ok:9zF3XeIkL54:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=tEmwK2d43Ok:9zF3XeIkL54:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/tEmwK2d43Ok" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/tEmwK2d43Ok/build-graphical-adventure-game-in-20.htmlnoreply@blogger.com (Mark Proctor)4http://blog.athico.com/2012/03/build-graphical-adventure-game-in-20.htmltag:blogger.com,1999:blog-5869426.post-7555071214460071568Sat, 25 Feb 2012 02:10:00 +00002012-02-25T07:18:55.812ZOpen SourcejBPMGuvnorDroolsDrools, jBPM and Guvnor : Measuring Risk via Community Health<div dir="ltr" style="text-align: left;" trbidi="on"> <span id="internal-source-marker_0.7720128035685389" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">When I give Open Source talks on the software we build, I always take a few minutes to talk about risk. Adopting any software technology brings about levels of risk that need to be assessed. Some aspects of risk are obvious; such as "is the product fit for purpose". This can normally be assessed via demonstrations, prototyping and fit gap analysis. Other aspects of risk are not so easy, "is this product healthy".</span><br /> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br /> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Let's stop a minute and think about the word "health" what does health mean in terms of software. If a project is not healthy any of the following, among many other things, could happen:</span><br /> <ul> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Bugs are slow to be fixed, or not fixed at all</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Long time between releases with new features, or no releases at all.</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Project is dormant, or worse abandoned but has not been stated publicly</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Finding community support can be hard</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">End up maintaining the whole project yourself inhouse.</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">When a project is not moving forward fast enough, or the scope of the project is too small, required features might be implemented as hybrid extensions only (for example using a different license or even closed source), and not available as part of the open-source project</span></li> </ul> <br /> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br /> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">So when you are looking to adopt a technology how do you assess if it's healthy, how do you avoid situations detailed above:</span><br /> <ul> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Large development community</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Regular commits</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Large support community, either via real time chat or mailing lists</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Is the project financially profitable already.</span></li> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Published books? </span></li> <ul> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">If publishers are willing to invest in books, you know there is a large end user community. That means lower risk of bugs, and easier to hire people and find consultancies.</span></li> </ul> <li style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Commitment to public global speaking engagements, such as java user groups or workshops.</span></li> </ul> <br /> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">With Drools, jBPM and Guvnor there are published books, and you only have to pop onto irc or the mailing lists to see the vibrant chats going on. We continue to hire aggressively, with two more people starting within the next two months. &nbsp;More importantly though you only have to go to github to see the flurry of activity going on for a large number of developers. Below you can see the graphs taken from github, and I think they speak for themselves :)</span><br /> <br /> <span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><b>&nbsp;Drools Commit Graph</b></span><br /> <div class="separator" style="clear: both; text-align: left;"> <a href="http://3.bp.blogspot.com/-zy4NiOlOPPM/T0hBaXtfBlI/AAAAAAAAAqc/l9k7eTLmZXs/s1600/drools_github_impact.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="289" src="http://3.bp.blogspot.com/-zy4NiOlOPPM/T0hBaXtfBlI/AAAAAAAAAqc/l9k7eTLmZXs/s640/drools_github_impact.png" width="640" /></a></div> <br /> <b>&nbsp;jBPM Commit Graph</b><br /> <div class="separator" style="clear: both; text-align: left;"> <a href="http://1.bp.blogspot.com/-uc6e6yNUQk8/T0hBfift7TI/AAAAAAAAAqs/AdXhSYkMMSQ/s1600/jbpm_github_impact.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="226" src="http://1.bp.blogspot.com/-uc6e6yNUQk8/T0hBfift7TI/AAAAAAAAAqs/AdXhSYkMMSQ/s640/jbpm_github_impact.png" width="640" /></a></div> <br /> <b>Guvnor Commit Graph&nbsp;</b> <br /> <div class="separator" style="clear: both; text-align: left;"> <a href="http://4.bp.blogspot.com/-I81J9OeyCi8/T0hBe3ammoI/AAAAAAAAAqk/XnVCyjmC0wk/s1600/guvnor-growth-london.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="316" src="http://4.bp.blogspot.com/-I81J9OeyCi8/T0hBe3ammoI/AAAAAAAAAqk/XnVCyjmC0wk/s640/guvnor-growth-london.png" width="640" /></a></div> <br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-7555071214460071568?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=OqVonuZl0R4:LyNEWBFwfTc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=OqVonuZl0R4:LyNEWBFwfTc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=OqVonuZl0R4:LyNEWBFwfTc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=OqVonuZl0R4:LyNEWBFwfTc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=OqVonuZl0R4:LyNEWBFwfTc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=OqVonuZl0R4:LyNEWBFwfTc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=OqVonuZl0R4:LyNEWBFwfTc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=OqVonuZl0R4:LyNEWBFwfTc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=OqVonuZl0R4:LyNEWBFwfTc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=OqVonuZl0R4:LyNEWBFwfTc:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/OqVonuZl0R4" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/OqVonuZl0R4/drools-jbpm-and-guvnor-measuring-risk.htmlnoreply@blogger.com (Mark Proctor)1http://blog.athico.com/2012/02/drools-jbpm-and-guvnor-measuring-risk.htmltag:blogger.com,1999:blog-5869426.post-5517622157380432569Fri, 24 Feb 2012 17:11:00 +00002012-02-24T17:11:12.072ZplannerEmployee rostering with Drools Planner: demo video<iframe width="640" height="480" src="http://www.youtube.com/embed/Gxd-DqtK5Xc" frameborder="0" allowfullscreen></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-5517622157380432569?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ooKzp0nSwxQ:6fYZkDiaBxU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ooKzp0nSwxQ:6fYZkDiaBxU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ooKzp0nSwxQ:6fYZkDiaBxU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=ooKzp0nSwxQ:6fYZkDiaBxU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ooKzp0nSwxQ:6fYZkDiaBxU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=ooKzp0nSwxQ:6fYZkDiaBxU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ooKzp0nSwxQ:6fYZkDiaBxU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ooKzp0nSwxQ:6fYZkDiaBxU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=ooKzp0nSwxQ:6fYZkDiaBxU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=ooKzp0nSwxQ:6fYZkDiaBxU:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/ooKzp0nSwxQ" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/ooKzp0nSwxQ/employee-rostering-with-drools-planner.htmlnoreply@blogger.com (Geoffrey De Smet)2http://blog.athico.com/2012/02/employee-rostering-with-drools-planner.htmltag:blogger.com,1999:blog-5869426.post-8351226183086079869Tue, 21 Feb 2012 04:43:00 +00002012-02-21T14:02:05.730ZPresentationjBPMBoot CampDroolsDrools & jBPM Event : London 8th March 2012<div dir="ltr" style="text-align: left;" trbidi="on"> Register now to join us for the free Drools &amp; jBPM London 2012 event, hurry limited spaces :)<br /> <a href="http://redhat-mail.com/t/XRU-OE4J-824IMOYW1D/cr.aspx">http://redhat-mail.com/t/XRU-OE4J-824IMOYW1D/cr.aspx</a><br /> <br /> <br /> <span style="font-size: 14px; font-weight: 700;">When </span>Thursday 8th March<br /> <span style="font-size: 14px; font-weight: 700;">Where</span> Ave Maria Lane, London, London EC4M 7DD (near St Paul's Tube)<br /> <br /> <table border="0" cellpadding="0" cellspacing="0" style="background-color: #ab0000; color: #323232; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; width: 215px;"><tbody> <tr><td style="width: 15px;"><br /></td> <td style="color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; width: 100px;">Agenda</td> <td style="background-color: white; width: 100px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="background-color: white; width: 100px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" style="background-color: #171717; width: 215px;"><tbody> <tr> <td colspan="3" style="height: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; width: 185px;"><table border="0" cellpadding="0" cellspacing="0" style="color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; width: 185px;"> <tbody> <tr> <td style="vertical-align: top;">09:00</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td>Registration, tea and coffee</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">09:30</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Introduction/ Welcome</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">09:45</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">Rules, Events &amp; Processes: the Open Source way</span><br /> Mark Proctor - Worldwide Technical Lead for BRMS &amp; BPMS, Red Hat</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">10:45</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">Decision Tables</span><br /> Michael Anstis, JBoss Core Developer, Red Hat </td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">11:15</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Tea/Coffee Break</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">11:30</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">BPMN2 and jBPM5</span><br /> Kris Verlaenen, JBoss Core Developer, Red Hat </td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">12:15</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;"><span style="font-weight: 700;">Solving Planning Problems</span><br /> Geoffrey de Smet, JBoss Core Developer, Red Hat </td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">12:45</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Case Studies</td> </tr> <tr> <td colspan="3" style="height: 5px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> </tr> <tr> <td style="vertical-align: top;">13:00</td> <td style="vertical-align: top; width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td> <td style="vertical-align: top;">Lunch and Networking </td> </tr> </tbody></table> </td> <td style="width: 15px;"><img alt="trans" border="0" height="1" src="http://hosting-source.bm23.com/20413/public/trans1x1.gif" width="1" /></td></tr> </tbody></table> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-8351226183086079869?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=xYJF5rrmcZ4:9qshwzETBIs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=xYJF5rrmcZ4:9qshwzETBIs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=xYJF5rrmcZ4:9qshwzETBIs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=xYJF5rrmcZ4:9qshwzETBIs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=xYJF5rrmcZ4:9qshwzETBIs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=xYJF5rrmcZ4:9qshwzETBIs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=xYJF5rrmcZ4:9qshwzETBIs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=xYJF5rrmcZ4:9qshwzETBIs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=xYJF5rrmcZ4:9qshwzETBIs:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=xYJF5rrmcZ4:9qshwzETBIs:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/xYJF5rrmcZ4" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/xYJF5rrmcZ4/drools-jbpm-event-london-8th-march-2012.htmlnoreply@blogger.com (Mark Proctor)6http://blog.athico.com/2012/02/drools-jbpm-event-london-8th-march-2012.htmltag:blogger.com,1999:blog-5869426.post-3007040102897198512Mon, 20 Feb 2012 14:34:00 +00002012-02-20T14:36:59.632ZjBPM5 webinarPresentationWebinar on jBPM 5 (February 22nd)<div style="text-align: justify;"><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" >We're planning a new webinar on the latest features of jBPM 5 and a preview of some of the upcoming features this week. Register now !<br /><br /><h2 style="color: rgb(204, 0, 0);font-size:15pt;">jBPM 5: Redefined, Simplified, and<span class="Apple-converted-space"> </span><em>the</em><span class="Apple-converted-space"> </span>Open Source BPM</h2><a href="https://engage.redhat.com/forms/20120222jBPM" style="color: rgb(204, 0, 0); text-decoration: none;"><img src="http://images.engage.redhat.com/eloquaimages/clients/RedHat/%7Bda8cbff6-3b45-47dd-a368-48fd8148d4b2%7D_register-now-button.png" alt="Register Now" style="width: 130px; height: 22px; border-width: 0px; border-style: none;" align="" border="0" height="22" width="130" /></a><span class="Apple-converted-space"> </span></span><br /><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" >jBPM is one of the most popular open source BPM/workflow solutions on the market. Over the years it has been widely adopted by many enterprises due to its many unique characteristics, such as:</span><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><ul><li>a lightweight footprint</li><li>an embeddable engine</li><li>its ease of use</li></ul>jBPM 5 has taken these unique characteristics to the next level by adopting the popular BPMN 2 standard. BPMN 2 is not only the choice of standard for modeling, but also the choice for native execution.</span><br /><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" >jBPM 5 is a redefined BPM implementation that is further simplified for ease of use and offers flexibility in meeting wider enterprise needs. This webinar will discuss many of the key functionalities and future direction of jBPM 5, including:</span><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><ul><li>BPMN 2 based process modeling using rich web based designer and Eclipse editor</li><li>Human interaction based on the WS-HT standard</li><li>Process monitoring and debugging</li><li>Support plan through JBoss’ enterprise product</li></ul>You will also learn how to build adaptive business processes by leveraging the combined power of business rules, business events, and processes.</span><br /><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><strong>Speakers:</strong></span><br /><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><strong><img alt="PrakashAradhya-200" src="http://images.engage.redhat.com/eloquaimages/clients/redhat/%7bf40a6d39-f618-4a89-83de-10ee7318b4b2%7d_prakasharadhya-200.jpg" style="width: 95px; height: 94px; border-width: 0px; border-style: none;" align="left" border="0" />Prakash Aradhya, Sr. Product Manager, Red Hat</strong></span><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" >Prakash Aradhya is responsible for driving the product strategy and roadmap for JBoss Enterprise BRMS and BPM products. He has over 15 years of experience in product development and product management in the middleware software industry. Prior to his focus on the BRMS and BPM products, Prakash was responsible for JBoss Developer Platform product management which included JBoss Developer Studio. Prior to joining Red Hat, Prakash worked at Sun Microsystems (now part of Oracle) as SOA Product Manager for the Sun Java CAPS product.</span><br /><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><strong><img alt="Kris Verlaenen" src="http://images.engage.redhat.com/eloquaimages/clients/redhat/%7b5509f672-f7f0-45f8-9e2b-4e664600936f%7d_krisverlaenen.gif" style="width: 87px; height: 100px; border-width: 0px; border-style: none;" align="left" border="0" height="100" width="87" />Kris Verlaenen, jBPM 5 Project Lead</strong></span><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" >Kris Verlaenen leads the jBPM 5 effort and is also one of the core developers of the Drools project, to which he started contributing in 2006. After finishing his PhD in Computer Science in 2008, he joined JBoss full-time and became the Drools Flow lead. He has a keen interest in the healthcare domain, one of the areas that have already shown to have a great need for a unified process, rule and event processing framework.</span><br /><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><strong>Choose from the following live events:</strong></span><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><a href="http://app.engage.redhat.com/e/er?s=1795&amp;lid=1164&amp;elq=ab69a0edbd63497b8e3f6ccd345d9cb9" style="color: rgb(204, 0, 0); text-decoration: none;">Time zone converter</a></span><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><ul><li><strong>Wednesday, February 22, 2012 | 14:00 UTC / 9am (New York) / 3pm (Paris) / 7:30pm (Mumbai)</strong></li><li><strong>Wednesday, February 22, 2012 | 19:00 UTC / 2pm (New York) / 8pm (Paris) / *Thur 12:30am (Mumbai)</strong></li></ul><strong></strong></span><br /><span class="Apple-style-span" style="border-collapse: separate; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:Helvetica;font-size:medium;" ><strong></strong><a href="https://engage.redhat.com/forms/20120222jBPM" style="color: rgb(204, 0, 0); text-decoration: none;"><img src="http://images.engage.redhat.com/eloquaimages/clients/RedHat/%7Bda8cbff6-3b45-47dd-a368-48fd8148d4b2%7D_register-now-button.png" alt="Register Now" style="width: 130px; height: 22px; border-width: 0px; border-style: none;" align="" border="0" height="22" width="130" /></a></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-3007040102897198512?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=IAKcGDYGAqk:szcnaIN9WdY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=IAKcGDYGAqk:szcnaIN9WdY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=IAKcGDYGAqk:szcnaIN9WdY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=IAKcGDYGAqk:szcnaIN9WdY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=IAKcGDYGAqk:szcnaIN9WdY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=IAKcGDYGAqk:szcnaIN9WdY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=IAKcGDYGAqk:szcnaIN9WdY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=IAKcGDYGAqk:szcnaIN9WdY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=IAKcGDYGAqk:szcnaIN9WdY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=IAKcGDYGAqk:szcnaIN9WdY:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/IAKcGDYGAqk" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/IAKcGDYGAqk/webinar-on-jbpm-5-february-22nd.htmlnoreply@blogger.com (Kris Verlaenen)0http://blog.athico.com/2012/02/webinar-on-jbpm-5-february-22nd.htmltag:blogger.com,1999:blog-5869426.post-3924453328259975968Sat, 18 Feb 2012 22:43:00 +00002012-02-18T23:19:37.271Zdecision tablesGuvnorImport XLS decision tables into GuvnorWork has been completed to enable users to upload their XLS based Decision Tables into Guvnor! Checkout this new feature in the master branch (or wait for the arrival of 5.4.CR1 when it becomes available...)<br /><br />Checkout a demo <a href="https://vimeo.com/37033081">here</a>.<br /><br />Uploading a XLS decision table results in the creation of numerous new assets, including (obviously) web-guided Decision Tables, functions, declarative types and modifications to package globals and imports etc (Queries are not converted, although supported in the XLS form, as Guvnor doesn't support them <a href="https://issues.jboss.org/browse/GUVNOR-1532">yet</a>).<br /><br /><span style="font-weight: bold; font-style: italic;">XLS decision table</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-7hqYVif8QYg/T0AqlQz-vmI/AAAAAAAAAiY/OKbymXwjgLg/s1600/dtable-xls.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 231px;" src="http://2.bp.blogspot.com/-7hqYVif8QYg/T0AqlQz-vmI/AAAAAAAAAiY/OKbymXwjgLg/s400/dtable-xls.png" alt="" id="BLOGGER_PHOTO_ID_5710611147162304098" border="0" /></a><br /><br /><span style="font-weight: bold; font-style: italic;">Guided decision table</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-7zYvU-1lvlI/T0AqsBUmoVI/AAAAAAAAAik/ep4B2NSCCrI/s1600/dtable-converted.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 264px;" src="http://1.bp.blogspot.com/-7zYvU-1lvlI/T0AqsBUmoVI/AAAAAAAAAik/ep4B2NSCCrI/s400/dtable-converted.png" alt="" id="BLOGGER_PHOTO_ID_5710611263263252818" border="0" /></a><br /><br />This is the first stage of "round-tripping" decision tables. We still need to add the ability to export a guided decision table back to XLS, plus we'd like to add tighter integration of updated XLS assets to their original converted cousins - so if a new version of the XLS decision table is uploaded the related assets' versions are updated (rather than creating new) upon conversion.<br /><br />This is a powerful enhancement and as such your feedback is critical to ensure we implement the feature as you'd like it to operate. Check it out, feedback your opinions and help guide the future work :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-3924453328259975968?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Rza8x9WIVmI:-4WtWkg_Yw4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Rza8x9WIVmI:-4WtWkg_Yw4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Rza8x9WIVmI:-4WtWkg_Yw4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Rza8x9WIVmI:-4WtWkg_Yw4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Rza8x9WIVmI:-4WtWkg_Yw4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Rza8x9WIVmI:-4WtWkg_Yw4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Rza8x9WIVmI:-4WtWkg_Yw4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Rza8x9WIVmI:-4WtWkg_Yw4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=Rza8x9WIVmI:-4WtWkg_Yw4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=Rza8x9WIVmI:-4WtWkg_Yw4:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/Rza8x9WIVmI" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/Rza8x9WIVmI/import-xls-decision-tables-into-guvnor.htmlnoreply@blogger.com (Michael Anstis)3http://blog.athico.com/2012/02/import-xls-decision-tables-into-guvnor.htmltag:blogger.com,1999:blog-5869426.post-1468437191194874530Wed, 08 Feb 2012 09:12:00 +00002012-02-08T09:12:11.847ZeventBRMS Guvnor DroolsplannerDroolsDeveloperConference 2012 in Brno, Czech Republic 17 - 18 February 2012Next week, on Friday 17 February, I 'll be presenting a introduction to Drools, Guvnor and Planner at <a href="http://fedoraproject.org/wiki/DeveloperConference2012">the DeveloperConference 2012</a> in Brno, Czech Republic. <div class="separator" style="clear: both; text-align: center;"> <a href="http://fedoraproject.org/wiki/DeveloperConference2012" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="862" src="http://fedoraproject.org/w/uploads/3/38/Rdc-2012.png" width="615" /></a></div> There are plenty of other interesting JBoss talks, about topics such as CDI, Arquillian Drone, Errai, Infinispan, Hibernate OGM, ... The entrance is free, so join us if you're in the neighborhood.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-1468437191194874530?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=HDjzWgkvofM:TIUVPWtt01g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=HDjzWgkvofM:TIUVPWtt01g:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=HDjzWgkvofM:TIUVPWtt01g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=HDjzWgkvofM:TIUVPWtt01g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=HDjzWgkvofM:TIUVPWtt01g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=HDjzWgkvofM:TIUVPWtt01g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=HDjzWgkvofM:TIUVPWtt01g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=HDjzWgkvofM:TIUVPWtt01g:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=HDjzWgkvofM:TIUVPWtt01g:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=HDjzWgkvofM:TIUVPWtt01g:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/HDjzWgkvofM" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/HDjzWgkvofM/developerconference-2012-in-brno-czech.htmlnoreply@blogger.com (Geoffrey De Smet)0http://blog.athico.com/2012/02/developerconference-2012-in-brno-czech.htmltag:blogger.com,1999:blog-5869426.post-6749828155721035131Tue, 07 Feb 2012 18:55:00 +00002012-02-08T21:57:48.642ZPresentationjBPMDroolsDrools & jBPM Info Sheet<div dir="ltr" style="text-align: left;" trbidi="on"> We've made an Info Sheet that provides an overview of Drools, jBPM and Guvnor. Feel free to download it and hand it out in your public presentations. There are 13 pages in total. You'll need to sign in to slideshare to download. Big text and lots of pretty pictures and very sexy, but not to be used for "extra" curriculum activities ;)<br /> <a href="http://www.slideshare.net/MarkProctor/drools-jbpm-info-sheet">http://www.slideshare.net/MarkProctor/drools-jbpm-info-sheet</a><br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://4.bp.blogspot.com/-XsvNmjYCW9Y/TzFy-ZQB8fI/AAAAAAAAAqQ/1mo0L91Sbco/s1600/infosheet1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-XsvNmjYCW9Y/TzFy-ZQB8fI/AAAAAAAAAqQ/1mo0L91Sbco/s320/infosheet1.png" width="229" /></a></div> <br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-6749828155721035131?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=KKcayPhHOIE:KnJfcXCSu0o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=KKcayPhHOIE:KnJfcXCSu0o:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=KKcayPhHOIE:KnJfcXCSu0o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=KKcayPhHOIE:KnJfcXCSu0o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=KKcayPhHOIE:KnJfcXCSu0o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=KKcayPhHOIE:KnJfcXCSu0o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=KKcayPhHOIE:KnJfcXCSu0o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=KKcayPhHOIE:KnJfcXCSu0o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=KKcayPhHOIE:KnJfcXCSu0o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=KKcayPhHOIE:KnJfcXCSu0o:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/KKcayPhHOIE" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/KKcayPhHOIE/drools-jbpm-info-sheet.htmlnoreply@blogger.com (Mark Proctor)1http://blog.athico.com/2012/02/drools-jbpm-info-sheet.htmltag:blogger.com,1999:blog-5869426.post-2400606646731573753Tue, 07 Feb 2012 14:43:00 +00002012-02-07T14:43:19.210ZjBPMDroolsWelcome Alexandre Porcelli<div dir="ltr" style="text-align: left;" trbidi="on"> Alexandre Porcelli has joined the Drools&amp;jBPM team today. Alexandre is an <a href="http://www.antlr.org/">Antlr </a>guru and also leads the Open Spotlight project, <a href="http://porcelli.github.com/OpenSpotLight/">http://porcelli.github.com/OpenSpotLight/</a>.<br /> <br /> Alexendre will initially be helping out on the Guvnor work for jBPM, then in a few months time we hope that he'll lead our work around distributed computing.<br /> <br /> Alexendre lives in sunny Brazil, you can read more about him <a href="http://www.blogger.com/here,http://porcelli.com.br/">here,http://porcelli.com.br/</a>.<br /> <br /> <div class="separator" style="clear: both; text-align: center;"> <a href="http://a2.twimg.com/profile_images/1130589863/avatar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="314" src="http://a2.twimg.com/profile_images/1130589863/avatar.png" width="320" /></a></div> <br /> <br /> <br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-2400606646731573753?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=j5XYzC1uCBk:vD6_peEH1bM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=j5XYzC1uCBk:vD6_peEH1bM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=j5XYzC1uCBk:vD6_peEH1bM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=j5XYzC1uCBk:vD6_peEH1bM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=j5XYzC1uCBk:vD6_peEH1bM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=j5XYzC1uCBk:vD6_peEH1bM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=j5XYzC1uCBk:vD6_peEH1bM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=j5XYzC1uCBk:vD6_peEH1bM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=j5XYzC1uCBk:vD6_peEH1bM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=j5XYzC1uCBk:vD6_peEH1bM:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/j5XYzC1uCBk" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/j5XYzC1uCBk/welcome-alexandre-porcelli.htmlnoreply@blogger.com (Mark Proctor)0http://blog.athico.com/2012/02/welcome-alexandre-porcelli.htmltag:blogger.com,1999:blog-5869426.post-679027687867670225Tue, 07 Feb 2012 03:16:00 +00002012-02-07T03:16:38.758ZDrools ExpertDroolsWumpus World Lives!!!<div dir="ltr" style="text-align: left;" trbidi="on"> Wumpus world continues to improve and is now fully playable. The UI has a lot more polish now and nearly all of the code has been moved to DRL now, including the swing graphics rendering for the cave and the sensor panels. You'll need to use master head to try it. Java is just used to build the kbase from the drl files and to create the swing panels, buttons and forms. WindowBuilder was used to graphical layout things.<br /> <br /> The final thing I have to do is allow for client integration, so that people can write rules to automate the hero. <br /> <br /> <a href="https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/init.drl">https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/init.drl</a><br /> <a href="https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/commands.drl">https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/commands.drl</a><br /> <a href="https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/collision.drl%20">https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/collision.drl </a><br /> <a href="https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/score.drl">https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/score.drl</a><br /> <a href="https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/view/ui.drl">https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/view/ui.drl</a><br /> <a href="https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/view/paintCave.drl">https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/view/paintCave.drl</a><br /> <a href="https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/view/paintSensor.drl">https://github.com/droolsjbpm/drools/blob/master/drools-examples/src/main/resources/org/drools/examples/wumpus/view/paintSensor.drl</a><br /> <br /> Cave is hidden, playing the game purely with Sensors. <br /> <div class="separator" style="clear: both; text-align: left;"> <a href="http://2.bp.blogspot.com/-hgzThfa_sik/TzCS2dNOfgI/AAAAAAAAAqA/cfw6t3trQis/s1600/wumpus1.png" imageanchor="1"><img border="0" height="361" src="http://2.bp.blogspot.com/-hgzThfa_sik/TzCS2dNOfgI/AAAAAAAAAqA/cfw6t3trQis/s400/wumpus1.png" width="400" /></a></div> <br /> Cave is now shown, but unvisited rooms are greyed out. <br /> <div class="separator" style="clear: both; text-align: left;"> <a href="http://1.bp.blogspot.com/-CHNlj_6AaPg/TzCS0ej9pGI/AAAAAAAAApo/JunZB503d2U/s1600/wumpus3.png" imageanchor="1"><img border="0" height="350" src="http://1.bp.blogspot.com/-CHNlj_6AaPg/TzCS0ej9pGI/AAAAAAAAApo/JunZB503d2U/s400/wumpus3.png" width="400" /></a></div> <br /> Cheating reveals all, I have shot the Wumpus Dead <br /> <div class="separator" style="clear: both; text-align: left;"> <a href="http://2.bp.blogspot.com/-ai80aKpHv3A/TzCS06FwQtI/AAAAAAAAAp4/TrHgcRlasw0/s1600/wumpus2.png" imageanchor="1"><img border="0" height="365" src="http://2.bp.blogspot.com/-ai80aKpHv3A/TzCS06FwQtI/AAAAAAAAAp4/TrHgcRlasw0/s400/wumpus2.png" width="400" /></a></div> <br /> Window Builder with MigLayout was used to create the panels, buttons and forms<br /> <div class="separator" style="clear: both; text-align: left;"> <a href="http://4.bp.blogspot.com/-_lYJ5U6s5J8/TzCW-v19CUI/AAAAAAAAAqI/Goy1kWNNtI4/s1600/wumpus_window_builder.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="177" src="http://4.bp.blogspot.com/-_lYJ5U6s5J8/TzCW-v19CUI/AAAAAAAAAqI/Goy1kWNNtI4/s320/wumpus_window_builder.png" width="320" /></a></div> <br /> <br /> Here is the code to incrementally render the cave rooms: <br /> <pre class="brush.drl">function void paintCaveCell(String image, Cell cell, GameView gv, GameUI gui) { int rowIndent = 20; int colIndent = 5; int rowPad = cell.getRow() * gv.getCellPadding(); int colPad = cell.getCol() * gv.getCellPadding(); int y = (4 - cell.getRow()) * 50 - rowPad + rowIndent; int x = cell.getCol() * 50 + colPad + colIndent; Graphics caveG = gui.getCavePanel().getCaveG(); caveG.setColor( Color.WHITE ); // background caveG.fillRect( x, y, gv.getCellWidth(), gv.getCellHeight() ); caveG.drawImage( ImageIO.read( GameView.class.getResource( image ) ), x, y, gv.getCellHeight(), gv.getCellWidth(), gui.getCavePanel() ); } rule "Init CaveDirty" when not CaveDirty() then insert( new CaveDirty() ); end rule "Create CompositeImage" when $c : Cell() not CompositeImageName( cell == $c ) then CompositeImageName cin = new CompositeImageName($c, "", "", "", ""); insert( cin ); end rule "Reset CompositeImage" when $cin : CompositeImageName() not Cell( row == $cin.cell.row, col == $cin.cell.col) then retract( $cin ); end rule "Base Paint" when $c : Cell() $cin : CompositeImageName( cell == $c ); then end rule "Paint Gold" extends "Base Paint" when Gold(row == $c.row, col == $c.col) then modify( $cin ) { gold = "gold" }; end rule "Paint Empty Gold" extends "Base Paint" when not Gold(row == $c.row, col == $c.col) then modify( $cin ) { gold = "" }; end rule "Paint Pit" extends "Base Paint" when Pit(row == $c.row, col == $c.col) then modify( $cin ) { pit = "pit" }; end rule "Paint Empty Pit" extends "Base Paint" when not Pit(row == $c.row, col == $c.col) then modify( $cin ) { pit = "" }; end rule "Paint Wumpus Alive" extends "Base Paint" when Wumpus(alive == true, row == $c.row, col == $c.col) then modify( $cin ) { wumpus = "wumpus_alive" }; end rule "Paint Wumpus Dead" extends "Base Paint" when Wumpus(alive == false, row == $c.row, col == $c.col) then modify( $cin ) { wumpus = "wumpus_dead" } end rule "Paint Empty Wumpus" extends "Base Paint" when not Wumpus(row == $c.row, col == $c.col) then modify( $cin ) { wumpus = "" } end rule "Paint Hero Direction Up" extends "Base Paint" when $h : Hero( direction == Direction.UP, row == $c.row, col == $c.col ) then modify( $cin ) { hero = "hero_up" }; end rule "Paint Hero Direction Down" extends "Base Paint" when $h : Hero( direction == Direction.DOWN, row == $c.row, col == $c.col ) then modify( $cin ) { hero = "hero_down" }; end rule "Paint Hero Direction Left" extends "Base Paint" when $h : Hero( direction == Direction.LEFT, row == $c.row, col == $c.col ) then modify( $cin ) { hero = "hero_left" }; end rule "Paint Hero Direction Right" extends "Base Paint" when $h : Hero( direction == Direction.RIGHT, row == $c.row, col == $c.col ) then modify( $cin ) { hero = "hero_right" }; end rule "Paint Empty Hero" extends "Base Paint" when not Hero( row == $c.row, col == $c.col ) then modify( $cin ) { hero = "" }; end rule "Paint Hidden Room" when $gui : GameUI( cavePanel != null &amp;&amp; cavePanel.caveG != null ) $cd : CaveDirty() @watch(!*) $gv : GameView(showAllCells == false) $c : Cell(hidden == true) then paintCaveCell( "hidden_room.png", $c, $gv, $gui); modify( $cd ) { dirty = true }; end rule "Paint Empty Room" when $gui : GameUI( cavePanel != null &amp;&amp; cavePanel.caveG != null ) $cd : CaveDirty() @watch(!*) ($gv : GameView(showAllCells == true) and $c : Cell() ) or ($gv : GameView(showAllCells == false) and $c : Cell(hidden == false) ) CompositeImageName( cell == $c, pit == "", wumpus == "", gold == "", hero == "" ) @watch(*) then paintCaveCell( "empty_room.png", $c, $gv, $gui ); modify( $cd ) { dirty = true }; end rule "Paint Non Empty Room" when $gui : GameUI( cavePanel != null &amp;&amp; cavePanel.caveG != null ) $cd : CaveDirty() @watch(!*) ($gv : GameView(showAllCells == true) and $c : Cell() ) or ($gv : GameView(showAllCells == false) and $c : Cell(hidden == false) ) $cin : CompositeImageName( cell == $c, ( !(hero != "" &amp;&amp; pit != "") &amp;&amp; // don't draw a hero on the same square as a pit or an alive wumpus, as the game is over !(hero != "" &amp;&amp; wumpus == "wumpus_alive") &amp;&amp; !(pit == "" &amp;&amp; wumpus == "" &amp;&amp; gold == "" &amp;&amp; hero == "") ) ) @watch(*) then paintCaveCell( $cin.pit + $cin.wumpus + $cin.gold + $cin.hero + ".png", $cin.cell, $gv, $gui ); modify( $cd ) { dirty = true }; end rule "Redraw Cave" no-loop salience -500 when $gui : GameUI() $cd : CaveDirty( dirty == true ) then $gui.updateCave(); modify( $cd ) { dirty = false }; end </pre> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869426-679027687867670225?l=blog.athico.com' alt='' /></div><div class="feedflare"> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=drxqfzAX9sA:7pcZDDwAGd4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=drxqfzAX9sA:7pcZDDwAGd4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=drxqfzAX9sA:7pcZDDwAGd4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=drxqfzAX9sA:7pcZDDwAGd4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=drxqfzAX9sA:7pcZDDwAGd4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=drxqfzAX9sA:7pcZDDwAGd4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=drxqfzAX9sA:7pcZDDwAGd4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=drxqfzAX9sA:7pcZDDwAGd4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?i=drxqfzAX9sA:7pcZDDwAGd4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.athico.com/~ff/DroolsRSS?a=drxqfzAX9sA:7pcZDDwAGd4:jWeZv7XsJd0"><img src="http://feeds.feedburner.com/~ff/DroolsRSS?d=jWeZv7XsJd0" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/DroolsRSS/~4/drxqfzAX9sA" height="1" width="1"/>http://feeds.athico.com/~r/DroolsRSS/~3/drxqfzAX9sA/wumpus-world-lives.htmlnoreply@blogger.com (Mark Proctor)0http://blog.athico.com/2012/02/wumpus-world-lives.html