Semantic Web Drools Module, Request for Feedbak
by Xavier Breton
Hi,
I'm looking for feedback, I'll develop a Semantic Web Drools Module that
will be the subject of my Master Degree Tesis.
The idea is to use Eclipse Modelling Framework (EMF) for prototyping and
follow a Model Driven Architecture (MDA) where the source language is
Semantic of Business Vocabularies and Business Rules (SBVR) and the target
language is Drools DRL.
The mapping could be (PIM level):
- Semantic Web Rule Language (SWRL)
- Ontology Web Language (OWL)
- RuleML
- Rule Interchange Format (RIF)
- REWERSE Rule Markup Language (R2ML)
It could be added to the module at the source UML or Entity Relationship
like models to transform the models into SBVR.
Regards
Xavier Breton
10 years, 10 months
Kie: pluggable builders
by Michael Anstis
I was thinking over the weekend.
Guvnor has many different file types it uses to store rule definitions.
Currently Guvnor builds DRL before passing this to KieBuilder via
KieStorage (erm, will do this).
Any thoughts on moving the conversion to DRL from Guvnor to pluggable
builders within Kie that accept defined file-types (you have DRL and XLS at
the moment).
This further makes Guvnor just the "rule management" component having
knowledge base building (from any resource type) within Expert.
Guvnor would obviously provide all the pluggable builders it needs for 6.0.
Just a thought...
sent on the move
11 years, 9 months
Re: [rules-dev] synchonizated method in SingleSessionCommandService
by Anurag Aggarwal
Hi,
I am using jbpm and drools at Intalio and recently we were looking into performance, and found an issue that in persistence the following class
org.drools.persistence.SingleSessionCommandService
has method execute() which is synchronized and is entry point to all jbpm functionality
We were trying to update many process instances at same time and seems because of above they are updated one after another and not in parallel
I wanted to understand the reason for this method being synchronized and what would be required to make it non-synchronized
I would be thankful for any advice/help
Regards,
Anurag
12 years
Property reactive broken in 5.5.0 Final
by Wolfgang Laun
package reactive;
declare Person
@propertyReactive
name : String
age : int
weight : int
city : String
end
This is a simple all-DRL test case demonstrating that property reactive
may cause pending activations to be removed, depending on some
specific composition of the LHS.
* As the DRL is, only one rule fires but both should.
* Adding the Integer pattern (in either form) in both rules may result in
both rules firing, or only one, but both should.
Best
-W
rule kickoff
salience 100
when
then
Person p = new Person( "Joe", 20, 20, "Boston" );
insert( p );
insert( new Integer(1000) );
end
rule "y"
when
$p : Person(name == "Joe" )
// $o : Integer( intValue == 1000)
// $o : Integer()
then
modify($p){
setAge( 100 )
}
end
rule "x"
when
$p : Person(name == "Joe" )
// $o : Integer( intValue == 1000)
// $o : Integer()
then
modify($p){
setWeight( 100 )
}
end
rule z
salience -100
when
$p : Person()
then
System.out.println( $p );
end
// End
12 years
6.0 Alpha - Annotation Driven development with Multi Version Loading
by Mark Proctor
http://blog.athico.com/2012/12/60-alpha-annotation-driven-development.html
-----
Drools & jBPM 6.0 alpha should be out end of next week. 6.0 introduces convention based projects that remove the need for boiler plate code - literally just drop in the drl or bpmn2 and get going. Further we now allow rules and processes to be published as maven artifacts, in maven repositories. These artifacts can either be resolve via the classpath or downloaded dynamically on the fly. We even support out of the box side by side version loading, via the maven ReleaseId conventions.
As a little taster here is a new screenshot showing the annotation driven development. The lines below are all that's needed to dynamically load a module from a local or remote maven repository and start working with it. KieSession is the new, shorter name, for StatefulKnowlegeSession. Kie is an acronym for "Knowledge Is Everything", but I'll talk about Kie in another blog, expect to start hearing a lot about it soon :)
And here is a complete example screen shot. Create the drl, define the kmodule and start using them.
(click image to enlarge)
12 years
Re: [rules-dev] [rules-users] same criteria across multiple rules cancels activation with Property Reactive Facts
by Wolfgang Laun
This is certainly a bug, as it is definitely not what one expects from
the description of property reactive.
Existing activations that do not mention the modified property should
not be affected.
I have created a similar test case, and it fails the same way.
It seems that "property reactive" is broken in 5.5.0 and should not be used.
-W
On 14/12/2012, m11 <mchanian(a)hotmail.com> wrote:
> I have come across a problem of unexpected cancels on activations when
> using
> property reactive facts. The problem occurs if two or more rules have the
> same criteria. I have uploaded all the files and a unit test to show this
> using a very simple bare bones example:
>
> pom.xml <http://drools.46999.n3.nabble.com/file/n4021204/pom.xml>
> log4j.properties
> <http://drools.46999.n3.nabble.com/file/n4021204/log4j.properties>
> modify-test.drl
> <http://drools.46999.n3.nabble.com/file/n4021204/modify-test.drl>
> SampleBean.java
> <http://drools.46999.n3.nabble.com/file/n4021204/SampleBean.java>
> RuleRunner.java
> <http://drools.46999.n3.nabble.com/file/n4021204/RuleRunner.java>
> RulesLogger.java
> <http://drools.46999.n3.nabble.com/file/n4021204/RulesLogger.java>
> ModifyTest.java
> <http://drools.46999.n3.nabble.com/file/n4021204/ModifyTest.java>
>
> Running ModifyTest.java produces the following logs:
>
> 0 [main] DEBUG com.demo.rules.session.RulesLogger - Activation created
> calculate y
> 1 [main] DEBUG com.demo.rules.session.RulesLogger - Activation created
> calculate x
> 2 [main] DEBUG com.demo.rules.session.RulesLogger - Before Activation
> fired calculate x
> 4 [main] DEBUG com.demo.rules.session.RulesLogger - Activation
> cancelled calculate y
> 6 [main] DEBUG com.demo.rules.session.RulesLogger - After Activation
> fired [Activation rule=calculate x, act#=1, salience=0, tuple=[fact
> 0:2:42753698:30752:3:DEFAULT:SampleBean [x=10, y=null, id=1]]
> ]
>
> The activations have been created as expected but an activation on a rule
> is
> cancelled unexpectedily as indicated by log statement 4. Why is this?
>
> If all the rules have a different criteria then all works fine. If i dont
> use property reactive facts then it works. It looks like this is a bug, can
> someone confirm this ?
>
> We have some edge case scenarios in our rules where it is possible for some
> rules to end up with the same criteria. We dont want to force the business
> analysts to have to merge the rules as we have a very large number of
> rules,
> and it will be very hard for them to track the criteria for each rule.
>
> If it is not a bug can someone please provide the rational reason why it is
> sensible to have the activation cancelled.
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/same-criteria-across-multiple-rules-can...
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
12 years
Kie(?) OSGi dependencies
by Michael Anstis
Hi,
We recently needed to include the following dependencies in Guvnor-NG to
circumvent OSGi runtime errors:-
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.osgi.core</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
</dependency>
This requirement only started to happen within the last week.
The only other dependencies that Guvnor-NG has beyond itself (and others it
has had for ages) are highlighted below.
This email is meant only to bring attention to Guvnor's requirement, in
case there is something elsewhere that could affect it.
Mark has already told me that OSGi is broken at the moment - and that we
should not need any OSGi dependencies.... but, ATM, we do ;)
For the mean-time we'll keep the dependencies...
With kind regards,
Mike
[INFO] org.kie.guvnor:guvnor-webapp:war:6.0.0-SNAPSHOT
[INFO] +- org.slf4j:slf4j-api:jar:1.6.6:compile
[INFO] +- ch.qos.logback:logback-classic:jar:1.0.7:compile
[INFO] | \- ch.qos.logback:logback-core:jar:1.0.7:compile
[INFO] +- org.kie.guvnor:guvnor-workingset-client:jar:6.0.0-SNAPSHOT:compile
*[INFO] | +- org.kie.commons:kie-commons-data:jar:6.0.0-SNAPSHOT:compile*
[INFO] | +- org.kie.guvnor:guvnor-project-api:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- org.kie.guvnor:guvnor-commons-data:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- org.uberfire:uberfire-backend-api:jar:0.2.0-SNAPSHOT:compile
[INFO] | \- javax.inject:javax.inject:jar:1:compile
[INFO] +- org.kie.guvnor:guvnor-datamodel-api:jar:6.0.0-SNAPSHOT:compile
[INFO] +- org.kie.guvnor:guvnor-datamodel-backend:jar:6.0.0-SNAPSHOT:compile
[INFO] +- org.kie.guvnor:guvnor-core-services-api:jar:6.0.0-SNAPSHOT:compile
[INFO] | \-
org.kie.commons:kie-commons-validation:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-core-services-backend:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- org.kie.guvnor:guvnor-commons-ui:jar:6.0.0-SNAPSHOT:compile
*[INFO] | +- org.kie.commons:kie-commons-io:jar:6.0.0-SNAPSHOT:compile
[INFO] | | \- org.kie.commons:kie-nio2-api:jar:6.0.0-SNAPSHOT:compile*
*[INFO] | \- org.drools:drools-core:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- org.kie:kie-api:jar:6.0.0-SNAPSHOT:compile
[INFO] | \- org.kie:kie-internal:jar:6.0.0-SNAPSHOT:compile*
[INFO] +-
org.kie.guvnor:guvnor-guided-rule-editor-client:jar:6.0.0-SNAPSHOT:compile
[INFO] | +-
org.kie.guvnor:guvnor-guided-rule-editor-api:jar:6.0.0-SNAPSHOT:compile
[INFO] | | \-
org.kie.guvnor:guvnor-commons-services-api:jar:6.0.0-SNAPSHOT:compile
[INFO] | +-
org.kie.guvnor:guvnor-view-source-widget:jar:6.0.0-SNAPSHOT:compile
[INFO] | +-
org.kie.guvnor:guvnor-decorated-grid-widget:jar:6.0.0-SNAPSHOT:compile
[INFO] | \-
org.kie.guvnor:guvnor-commons-security:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-guided-rule-editor-backend:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- com.thoughtworks.xstream:xstream:jar:1.4.1:compile
[INFO] | | +- xmlpull:xmlpull:jar:1.1.3.1:compile
[INFO] | | \- xpp3:xpp3_min:jar:1.1.4c:compile
*[INFO] | \- org.drools:drools-templates:jar:6.0.0-SNAPSHOT:compile*
[INFO] +-
org.kie.guvnor:guvnor-guided-scorecard-editor-client:jar:6.0.0-SNAPSHOT:compile
[INFO] | \-
org.kie.guvnor:guvnor-guided-scorecard-editor-api:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-guided-scorecard-editor-backend:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-drl-text-editor-client:jar:6.0.0-SNAPSHOT:compile
[INFO] | +-
org.kie.guvnor:guvnor-drl-text-editor-api:jar:6.0.0-SNAPSHOT:compile
[INFO] | \-
org.kie.guvnor:guvnor-error-messages-widget:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-drl-text-editor-backend:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-enum-editor-client:jar:6.0.0-SNAPSHOT:compile
[INFO] | \-
org.kie.guvnor:guvnor-enum-editor-api:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-enum-editor-backend:jar:6.0.0-SNAPSHOT:compile
[INFO] | \- org.mvel:mvel2:jar:2.1.3.Final:compile
[INFO] +-
org.kie.guvnor:guvnor-factmodel-editor-client:jar:6.0.0-SNAPSHOT:compile
[INFO] | \-
org.kie.guvnor:guvnor-factmodel-editor-api:jar:6.0.0-SNAPSHOT:compile
[INFO] +-
org.kie.guvnor:guvnor-factmodel-editor-backend:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- org.uberfire:uberfire-backend-server:jar:0.2.0-SNAPSHOT:compile
[INFO] | | \-
org.uberfire:uberfire-backend-commons:jar:0.2.0-SNAPSHOT:compile
*[INFO] | \- org.drools:drools-compiler:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- org.antlr:antlr-runtime:jar:3.3:compile
[INFO] | +- org.antlr:antlr:jar:3.3:compile
[INFO] | +- org.antlr:stringtemplate:jar:3.2.1:compile
[INFO] | +- antlr:antlr:jar:2.7.7:compile
[INFO] | \- org.eclipse.jdt.core.compiler:ecj:jar:3.5.1:compile*
[INFO] +- org.uberfire:uberfire-server:jar:0.2.0-SNAPSHOT:compile
[INFO] | +- org.uberfire:uberfire-security-api:jar:0.2.0-SNAPSHOT:compile
[INFO] | \- commons-io:commons-io:jar:1.4:compile
[INFO] +- org.uberfire:uberfire-security-client:jar:0.2.0-SNAPSHOT:compile
[INFO] +- org.uberfire:uberfire-security-server:jar:0.2.0-SNAPSHOT:compile
[INFO] | +- org.yaml:snakeyaml:jar:1.10:compile
[INFO] | \- commons-codec:commons-codec:jar:1.5:compile (version managed
from 1.7)
[INFO] +- org.uberfire:uberfire-api:jar:0.2.0-SNAPSHOT:compile
[INFO] | \- org.jboss.errai:errai-common:jar:2.2.0-SNAPSHOT:compile
[INFO] | \-
org.jboss.errai.reflections:reflections:jar:2.2.0-SNAPSHOT:compile
[INFO] | \- dom4j:dom4j:jar:1.6.1:compile
[INFO] | \- xml-apis:xml-apis:jar:1.3.04:compile (version managed
from 1.0.b2)
[INFO] +-
org.uberfire:uberfire-widgets-core-client:jar:0.2.0-SNAPSHOT:compile
[INFO] +-
org.uberfire:uberfire-widgets-core-backend:jar:0.2.0-SNAPSHOT:compile
[INFO] +- org.uberfire:uberfire-widgets-commons:jar:0.2.0-SNAPSHOT:compile
[INFO] +- org.uberfire:uberfire-workbench:jar:0.2.0-SNAPSHOT:compile
[INFO] | +- org.freemarker:freemarker:jar:2.3.19:compile
[INFO] | \- com.allen-sauer.gwt.dnd:gwt-dnd:jar:3.1.2:compile
[INFO] +- javax.enterprise:cdi-api:jar:1.0-SP4:provided (scope not updated
to compile)
*[INFO] +- org.kie.commons:kie-nio2-jgit:jar:6.0.0-SNAPSHOT:compile
[INFO] | +- org.kie.commons:kie-nio2-model:jar:6.0.0-SNAPSHOT:compile
[INFO] | +-
org.eclipse.jgit:org.eclipse.jgit:jar:2.1.0.201209190230-r:compile*
[INFO] | | \- com.jcraft:jsch:jar:0.1.44-1:compile
[INFO] | \- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] | \- commons-logging:commons-logging:jar:1.0.4:compile
*[INFO] +- org.kie.commons:kie-nio2-fs:jar:6.0.0-SNAPSHOT:compile*
[INFO] +- org.jboss.errai:errai-bus:jar:2.2.0-SNAPSHOT:compile
[INFO] | +- org.jboss.errai:errai-config:jar:2.2.0-SNAPSHOT:compile
[INFO] | +- org.jboss.errai:errai-marshalling:jar:2.2.0-SNAPSHOT:compile
[INFO] | | \- org.jboss.errai:errai-codegen-gwt:jar:2.2.0-SNAPSHOT:compile
[INFO] | +- javax.validation:validation-api:jar:1.0.0.GA:compile
[INFO] | +- javax.validation:validation-api:jar:sources:1.0.0.GA:compile
[INFO] | +- com.google.inject:guice:jar:3.0:compile
[INFO] | | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- org.javassist:javassist:jar:3.14.0-GA:compile (version managed
from 3.15.0-GA)
[INFO] | +-
org.jboss.errai.io.netty:netty:jar:4.0.0.Alpha1.errai.r1:compile
[INFO] | \- com.google.guava:guava:jar:12.0:compile
[INFO] | \- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] +- org.jboss.errai:errai-ioc:jar:2.2.0-SNAPSHOT:compile
[INFO] | +- org.jboss.errai:errai-codegen:jar:2.2.0-SNAPSHOT:compile
[INFO] | \- javax.annotation:jsr250-api:jar:1.0:compile
[INFO] +- org.jboss.errai:errai-cdi-client:jar:2.2.0-SNAPSHOT:compile
[INFO] +-
org.jboss.errai:errai-javax-enterprise:jar:2.2.0-SNAPSHOT:provided (scope
not updated to compile)
[INFO] +- org.jboss.errai:errai-weld-integration:jar:2.2.0-SNAPSHOT:compile
[INFO] +- org.jboss.errai:errai-cdi-jetty:jar:2.2.0-SNAPSHOT:compile
[INFO] +- org.mortbay.jetty:jetty:jar:6.1.25:compile
[INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.25:compile
[INFO] | \- org.mortbay.jetty:servlet-api:jar:2.5-20081211:compile
[INFO] +- org.mortbay.jetty:jetty-plus:jar:6.1.25:compile
[INFO] | \- geronimo-spec:geronimo-spec-jta:jar:1.0.1B-rc4:compile
[INFO] +- org.mortbay.jetty:jetty-naming:jar:6.1.25:compile
[INFO] | \- javax.mail:mail:jar:1.4:compile
[INFO] +- org.jboss.weld.se:weld-se-core:jar:1.1.8.Final:compile
[INFO] | +- org.jboss.weld:weld-spi:jar:1.1.Final:compile
[INFO] | | \- org.jboss.weld:weld-api:jar:1.1.Final:compile
[INFO] | +- org.jboss.weld:weld-core:jar:1.1.8.Final:compile
[INFO] | | +-
org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:1.0.0.Beta1:compile
[INFO] | | +- org.slf4j:slf4j-ext:jar:1.6.6:compile (version managed from
1.6.1)
[INFO] | | \- ch.qos.cal10n:cal10n-api:jar:0.7.2:compile
[INFO] | \- javax.el:el-api:jar:1.2:compile (version managed from 2.2)
[INFO] +- org.jboss.weld.servlet:weld-servlet-core:jar:1.1.8.Final:compile
[INFO] +- com.google.gwt:gwt-user:jar:2.5.0:provided (scope not updated to
compile)
[INFO] | \- org.json:json:jar:20090211:provided
[INFO] +- org.apache.felix:org.osgi.core:jar:1.4.0:compile
[INFO] +- com.sun.xml.bind:jaxb-impl:jar:2.2.5:compile
[INFO] +- com.sun.xml.bind:jaxb-xjc:jar:2.2.5:compile
[INFO] +- junit:junit:jar:4.10:test (scope not updated to compile)
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.1:test
[INFO] \- org.mockito:mockito-all:jar:1.9.0:test
12 years