3rd International Symposium on Rules, Applications and Interoperability (RuleML-2009)
by Adrian Paschke
[Apologies for multiple postings]
Call for Papers
RuleML 2009
3rd International Symposium on Rules, Applications and Interoperability
November 5-7 2009, Las Vegas, Nevada, USA
http://2009.ruleml.org/
co-located with the 12th Business Rules Forum
----------------------------
Latest news
* Student grants of the value of up to $1000 plus free registration
* Keynote by Sandro Hawke, W3C RIF Contact - The Future of Rule Interchange
* New categories in the Challenge with prestigious prizes
* Rules standards session, W3C RIF workshop, and joint BRF/RuleML lunch
panel on Web Rules
Sponsored by
===================================================================
Franz Inc
NICTA (National ICT Australia) Ltd
Corporate Semantic Web
Logic Programming Associated Ltd
ruleCore
JBoss
Modelsystems Ltd
===================================================================
Overview and Aim
===================================================================
The International Symposium on Rules, Applications and Interoperability has
evolved from an annual series of international workshops since 2002,
international conferences in 2005 and 2006, and international symposia since
2007. This year, the 3rd International Symposium on Rules, Applications and
Interoperability (RuleML-2009) takes place in Las Vegas, Nevada, USA,
collocated with the 12th Business Rules Forum, the world's largest Business
Rules event. RuleML-2009 is devoted to practical distributed rule
technologies and rule-based applications which need language standards for
rules (inter)operating in, e.g., the Semantic Web, Multi-Agent Systems,
Event-Driven Architectures, and Service-Oriented Applications.
The main goal of RuleML-2009 is to stimulate the cooperation and
interoperability between business and research, by bringing together rule
system providers, participants in rule standardization efforts, open source
communities, practitioners, and researchers. The concept of the symposium
has also advanced continuously in the face of extremely rapid progress in
practical rule and event processing technologies. As a result, RuleML-2009
will feature hands-on demonstrations and challenges alongside a wide range
of thematic tracks, and thus will be an exciting venue to exchange new ideas
and experiences on all issues related to the engineering, management,
integration, interoperation and interchange of rules in open distributed
environments such as the Web.
Conference Theme
===================================================================
This year, we particularly welcome submissions that address applications of
Web rule technologies for business and information systems. We invite you to
share your ideas, results, and experiences: as an industry practitioner,
rule system provider, technical expert and developer, rule user or
researcher, exploring foundations, developing systems and applications, or
using rule-based systems. We invite high-quality submissions related to (but
not limited to) one or more of the following topics:
Track Topics
----------------------------------------------------------------------------
Rule Transformation and Extraction
- Transformation and extraction with rule standards, such as SBVR, RIF and
OCL
- Extraction of rules from code
- Transformation and extraction in the context of frameworks such as KDM
(Knowledge Discovery meta-model)
- Extraction of rules from natural language
- Transformation or rules from one dialect into another
Rules and Uncertainty
- Languages for the formalization of uncertainty rules
- Probabilistic, fuzzy and other rule frameworks for reasoning with
uncertain or incomplete information
- Handling inconsistent or disparate rules using uncertainty
- Uncertainty extensions of event processing rules, business rules,
reactive rules, causal rules, derivation rules, association rules, or
transformation rules
Rules and Norms
- Methodologies for modeling regulations using both ontologies and rules
- Defeasibility: modeling rule exceptions and priority relations among
rule
- The relationship between rules and legal argumentation schemes
- Rule language requirements for the "isomorphic" modeling of legislation
- Rule based inference mechanism for legal reasoning
- E-contracting and automated negotiations with rule-based declarative
strategies
Rule-based Game AI
- Rule-based movement, decision making, strategies, behavior design
- Rule-based environmental programming, virtual reality
- Rules for multi-agent/character games
- Rules for serious games
- Rule-based agent design
Rule-based Event Processing and Reaction Rules
- Reaction rule languages and engines (production rules, ECA rules, logic
event action formalisms, vocabularies/ontologies)
- State management approaches and frameworks
- Concurrency control and scalability
- Event and action definition, detection, consumption, termination,
lifecycle management
- Dynamic rule-based workflows and intelligent event processing (rule-
based CEP)
- Non-functional requirements, use of annotations, metadata to capture
those
- Design time and execution time aspects of rule-based (Semantic) Business
Processes Modeling and Management
- Practical and business aspects of rule-based (Semantic) Business Process
Management (business scenarios, case studies, use cases etc.)
Rules and Cross Industry Standards
- Rules in Current Industry Standards, including:
- XBRL: Extensible Business Reporting Language
- MISMO: Mortgage Industry Standards Maintenance Org
- FIXatdl: FIX Algorithmic Trading Definition Language
- FpML: Financial products Markup Language
- HL7: Health Level 7
- Acord: Association for Cooperative Operations Research and Development
(Insurance Industry)
- Rules for Governance, Risk, & Compliance (GRC), e.g., rules for internal
audit, SOX compliance, enterprise risk management (ERM), operational
risk, etc
- Rules and Corporate Actions
General Rule Topics
- Rules and ontologies
- Execution models, rule engines, and environments
- From rules to FOL to modal logics
- Rule-based reasoning with non-monotonic negation, modalities, deontic,
temporal, priority, scoped or other rule qualification
- Rule-based default reasoning with default logic, defeasible logic, and
answer set programming
- Graphical processing, modelling and rendering of rules
- Rules in Semantic Web Technologies
- Miscellaneous rule topics
Case studies, experience reports, and industrial problem statements are
particularly encouraged.
RuleML-2009 Challenge
===================================================================
The RuleML-2009 Demo Challenge is one of the highlights of RuleML-2009. We
invite submissions of demo papers and demos where rules are used in
interesting and practically relevant ways to, e.g., derive useful
information, transform knowledge, provide decision support and provide
automated rule-based monitoring, enforcement, validation or management of
the behavioural logic of the application. The Challenge offers participants
the chance to demonstrate their commercial and open source tools, use cases,
and applications. Submissions are solicited in these categories:
- Benchmarks (test cases, suites) with evaluations of (their own, other)
rule engines and/or rule translators, possibly drawing on our growing
pool at http://ruleml-challenge.cs.nccu.edu.tw
- Case studies (use cases) implemented via engines/translators employing
rule standards such as RIF, RuleML, CLIPS, Common Logic, SBVR, and ISO
Prolog.
We welcome all demos about tools and applications using rules such as:
- Derivation rules, including query and integrity rules
- ECA rules, including production rules, reaction rules, and rule-based
CEP languages
Authors of demo are also invited to submit a Challenge demo paper for
publications in the conference proceedings, see the submission section below
for submission details.
Prizes will be awarded to the two best applications from each category. All
accepted demos will be presented in a special Challenge Session. A
submission to the RuleML Challenge has to meet the requirement that
declarative rules explicitly play a central role in the application.
Basically this means that:
Rules are explicitly represented in a declarative format and they are
decoupled from the application (rather than being compiled or hard-coded
into the application logic). The demo should preferably (but not
necessarily) be embedded into a web-based or distributed environment so that
there will be a need for features related to the RuleML conference topics,
as listed in the call for papers. For more details and the demo site web
link please consult the RuleML-2009 Challenge website:
http://ruleml-challenge.cs.nccu.edu.tw
Student Grant Awards
===================================================================
Two travel grants are available to students who are authors or co-authors of
papers or demos accepted for presentation at the symposium. The grants
include free registration and cover travel expenses up to 1000 dollars.
Conference Language
===================================================================
The official language of the conference will be English.
Submission
===================================================================
Authors are invited to submit original contributions of practical relevance
and technical rigor in the field, experience reports and show case/use case
demonstrations of effective, practical, deployable rule-based technologies
or applications in distributed environments. Papers must be in English and
may be submitted at
http://www.easychair.org/conferences/?conf=ruleml2009
as:
Full Papers (15 pages in the proceedings)
Short Papers (8 pages in the proceedings)
RuleML-2009 Challenge Demo Paper + Show Cases (3-5 pages in the proceedings)
Please upload all submissions as PDF files in LNCS format
(http://www.springer.de/comp/lncs/authors.html). To ensure high quality,
submitted papers will be carefully peer-reviewed by 3 PC members based on
originality, significance, technical soundness, and clarity of exposition.
Authors are requested to upload the abstracts of their papers before June 9,
2009 and to upload their complete papers by June 16, 2009. The selected
papers will be published in book form in the Springer Lecture Notes in
Computer Science (LNCS) series along with a CD with demo software and
documents. The best paper from all submissions will be determined by the PC
and a Best Paper Award will be handed over at the Symposium by a Sponsor.
All submissions must be done electronically. A selection of revised papers
will be resubmitted to a special issue of a journal.
Submissions to the RuleML Challenge 2009 consist of a demo paper of 3-5
pages, describing the demo show case, and a link to more information about
the demo/show case, e.g. a project site, an online demonstration, a
presentation about the demonstration, or a download site for the
demonstration. In case of product demos, the link can be password-protected:
please submit a password for anonymous login from any Web browser, giving us
the permission to pass the password on to 3 PC members. The submissions
should satisfy the minimal requirements defined in the topics of interest
and preferably exhibit some of the additional desiderata. The more
desiderata are met by an application, the higher the score will be. The
demos will be evaluated by the RuleML-2009 Program Committee and prizes will
be awarded to the two best applications, sponsored by the RuleML Inc.
non-profit organization.
Review Process
===================================================================
The submitted papers will pass the blind review process. At least three
members of the Program Committee will review each submission.
Important Dates:
===================================================================
Abstract submission deadline: June 9, 2009
Paper Submission deadline: June 16, 2009
Notification of acceptance: July 18, 2009
Camera ready due: August 9, 2009
Symposium dates: November 5-7, 2009
RuleML Challenge: November 5, 2009
Conference Venue
===================================================================
RuleML-2009 will take place at the Bellagio in Las Vegas collocated with the
Business Rules Forum.
Keynote Speakers
===================================================================
- Sandro Hawke, W3C RIF Team Contact
The Future of Rule Interchange
- TBA
Programme Committee
===================================================================
General Chair
--------------------
Adrian Paschke, Freie Universitaet Berlin, Germany
Program Chairs
--------------------
Guido Governatori, NICTA, Australia
John Hall, Model Systems, UK
Liaison Chair
--------------------
Hai Zhuge, Chinese Academy of Sciences
Publicity Chair
--------------------
William Langley, NRC-IRAP, Canada
Track Chairs
Rule Transformation and Extraction
--------------------
Erik Putrycz, Canada
Mark Linehan, IBM, USA
Rules and Uncertainty
--------------------
Matthias Nickles, University of Bath, UK
Davide Sottara, University Bologna, Italy
Rules and Norms
--------------------
Thomas Gordon, Fraunhofer FOKUS, Germany
Antonino Rotolo, CIRSFID, University of Bologna, Italy
Rule-based Game AI
--------------------
Benjamin Craig, National Research Council, Canada
Weichang Du, University of New Brunswick, Canada
Rule-based Event Processing and Reaction Rules
--------------------
Alex Kozlenkov, Betfair Ltd., UK
Adrian Paschke, Free Univ. Berlin, Germany
Rules and Cross Industry Standards
--------------------
Tracy Bost, Valocity, USA
Robert Golan, DBMind, USA
RuleML Challenge
--------------------
Yuh-Jong Hu, National Chengchi University, Taiwan
Ching-Long Yeh, Tatung University, Taiwan
Wolfgang Laun, Thales Rail Signalling Solutions GesmbH, Austria
Program Committee Members
--------------------
http://2009.ruleml.org/pc
RuleML 2009 Sponsors
===================================================================
Silver Sponsors
--------------------
NICTA (National ICT Australia) Ltd
Corporate Semantic Web
Franz Inc
Bronze Sponsors
--------------------
Logic Programming Associated Ltd
ruleCore
jBoss
Modelsystems Ltd
RuleML 2009 Partners
===================================================================
W3C, World Wide Web Consortium
OMG, Object Management Group
ACM, Association for Computer Machinery
AAAI
ECCAI
International Association for Artificial Intelligence and Law
ACM SigMis
ACM SigArt
Belgian Business Rules Forum
MIT Sloan CIO Symposium
EPTS, Event Processing Technical Society
BPM Forum Belgium
October Rules Fest
SKG2009 5th International Conference on Semantic, Knowledge and Grid
RR-2009 3rd International Conference on Web Reasoning and Rule Systems
15 years, 6 months
Execution server fails with CNF Exception. org.drools.RuntimeDroolsException: Unable to resolve import. JIRA: GUVNOR-356
by Premkumar Stephen
Hello folks,
I have created a JIRA for this at
https://jira.jboss.org/jira/browse/GUVNOR-356
I have attached a simple usecase and all relevant artifacts.
Created a new repository ( deleted repository folder and repository.xml)
created new category - Ads
created new package - Ads
Uploaded model
Created new technical rule ---> at this point, both my objects Contact and
Contact1 show up.
Created simple rule with just the Contact object.
Built package and deployed snapshot.
Invoked using ruby code, sending in a Contact object using json.
Attached .pkg file shows that it recognizes the Contact1 object.
19:40:23,753 ERROR [STDERR] RuleAgent(AdTestConfig) INFO (Sat Jun 06
19:40:23 EDT 2009): Configuring with newInstance=true, secondsToRefresh=30
19:40:23,757 ERROR [STDERR] RuleAgent(AdTestConfig) INFO (Sat Jun 06
19:40:23 EDT 2009): Configuring package provider : URLScanner monitoring
URLs:
http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/Ads/...
19:40:24,293 INFO [STDOUT] PackageName: Ads
19:40:24,293 INFO [STDOUT] PackageVersion: ADSNAP
19:40:24,293 INFO [STDOUT] PackageIsLatest: false
19:40:24,293 INFO [STDOUT] PackageIsSource: false
19:40:24,517 ERROR [STDERR] RuleAgent(AdTestConfig) INFO (Sat Jun 06
19:40:24 EDT 2009): Applying changes to the rulebase.
19:40:24,517 ERROR [STDERR] RuleAgent(AdTestConfig) INFO (Sat Jun 06
19:40:24 EDT 2009): Creating a new rulebase as per settings.
19:40:24,517 ERROR [STDERR] RuleAgent(AdTestConfig) INFO (Sat Jun 06
19:40:24 EDT 2009): Adding package called Ads
19:40:24,519 ERROR [STDERR] java.lang.ClassNotFoundException:
com.rb.model.Contact1
19:40:24,520 ERROR [STDERR] at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
19:40:24,520 ERROR [STDERR] at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
19:40:24,520 ERROR [STDERR] at
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
19:40:24,520 ERROR [STDERR] at java.lang.Class.forName0(Native Method)
19:40:24,520 ERROR [STDERR] at java.lang.Class.forName(Class.java:242)
19:40:24,520 ERROR [STDERR] at
org.drools.rule.CompositeClassLoader.loadClass(CompositeClassLoader.java:61)
19:40:24,520 ERROR [STDERR] at
java.lang.ClassLoader.loadClass(ClassLoader.java:251)
19:40:24,520 ERROR [STDERR] at
org.drools.base.mvel.MVELCompilationUnit.loadClass(MVELCompilationUnit.java:379)
19:40:24,520 ERROR [STDERR] at
org.drools.base.mvel.MVELCompilationUnit.getCompiledExpression(MVELCompilationUnit.java:190)
19:40:24,520 ERROR [STDERR] at
org.drools.base.mvel.MVELConsequence.compile(MVELConsequence.java:49)
19:40:24,520 ERROR [STDERR] at
org.drools.rule.MVELDialectRuntimeData.onBeforeExecute(MVELDialectRuntimeData.java:103)
19:40:24,520 ERROR [STDERR] at
org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:113)
19:40:24,520 ERROR [STDERR] at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:464)
19:40:24,520 ERROR [STDERR] at
org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:388)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.PackageProvider.applyChanges(PackageProvider.java:85)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.PackageProvider.applyChanges(PackageProvider.java:62)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:392)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.RuleAgent.configure(RuleAgent.java:347)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.RuleAgent.init(RuleAgent.java:247)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:187)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:147)
19:40:24,520 ERROR [STDERR] at
org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:256)
19:40:24,521 ERROR [STDERR] at
org.drools.server.KnowledgeStatelessServlet.getRuleBase(KnowledgeStatelessServlet.java:109)
19:40:24,521 ERROR [STDERR] at
org.drools.server.KnowledgeStatelessServlet.doPost(KnowledgeStatelessServlet.java:71)
19:40:24,521 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
19:40:24,521 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
19:40:24,521 ERROR [STDERR] at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
19:40:24,521 ERROR [STDERR] at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
19:40:24,521 ERROR [STDERR] at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
19:40:24,521 ERROR [STDERR] at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
19:40:24,521 ERROR [STDERR] at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
19:40:24,521 ERROR [STDERR] at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
19:40:24,521 ERROR [STDERR] at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
19:40:24,521 ERROR [STDERR] at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
19:40:24,521 ERROR [STDERR] at java.lang.Thread.run(Thread.java:613)
19:40:24,522 ERROR [[statelessService]] Servlet.service() for servlet
statelessService threw exception
org.drools.RuntimeDroolsException: org.drools.RuntimeDroolsException: Unable
to resolve import 'com.rb.model.Contact1'
at org.drools.agent.PackageProvider.applyChanges(PackageProvider.java:87)
at org.drools.agent.PackageProvider.applyChanges(PackageProvider.java:62)
at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:392)
at org.drools.agent.RuleAgent.configure(RuleAgent.java:347)
at org.drools.agent.RuleAgent.init(RuleAgent.java:247)
at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:187)
at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:147)
at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:256)
at
org.drools.server.KnowledgeStatelessServlet.getRuleBase(KnowledgeStatelessServlet.java:109)
at
org.drools.server.KnowledgeStatelessServlet.doPost(KnowledgeStatelessServlet.java:71)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:613)
Caused by: org.drools.RuntimeDroolsException: Unable to resolve import
'com.rb.model.Contact1'
at
org.drools.base.mvel.MVELCompilationUnit.getCompiledExpression(MVELCompilationUnit.java:230)
at org.drools.base.mvel.MVELConsequence.compile(MVELConsequence.java:49)
at
org.drools.rule.MVELDialectRuntimeData.onBeforeExecute(MVELDialectRuntimeData.java:103)
at
org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:113)
at org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:464)
at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:388)
at org.drools.agent.PackageProvider.applyChanges(PackageProvider.java:85)
... 29 more
Regards,
Prem
15 years, 6 months
How to access a Guvnor-declarative model from working memory?
by satjo
Hi
Could someone point to some documentation/examples that provides information
about the API to access objects from workingmemory while using
statefulsession and decalarative model on Guvnor?
Let us take an example:
There are a couple of models test.model and test.result.
test.model
x: String
y : String
test.results
z: Sring
User has defined the rules using the values of x and y that set the values
of z. After execution of the rules, a collection of results need to
accessed.
WorkingMemory workingMemory = rb.newStatefulSession();
FactType msgIn = rb.getFactType("test.model");
FactType msgout = rb.getFactType("test.results");
Object msgDetail = msgIn.newInstance();
Object msgResults = msgout.newInstance();
//Set the values
msgIn.set(msgDetail, "x", "aa");
..
..
workingMemory.insert(msgInfo);
workingMemory.insert(msgout);
//Fire the rules
workingMemory.fireAllRules();
Could someone show to access the 'results' collection from the
workingmemory?
Again, this 'results' model has been defined by an user using Guvnor.
Regards
sj
--
View this message in context: http://www.nabble.com/How-to-access-a-Guvnor-declarative-model-from-worki...
Sent from the drools - user mailing list archive at Nabble.com.
15 years, 6 months
Finding Average using sliding window
by PriyaSha
I've read through the fusion document...But am clueless on getting average
over a fixed time window...
In the stocktick sample, using sliding window I could get average for every
event happening.
But I would like to get the average for a fixed time window.
For example, if I would like to know the average stockprice of 'RHAT' for
every fixed window of 30s, how this can be achieved in drools fusion?
--
View this message in context: http://www.nabble.com/Finding-Average-using-sliding-window-tp23827973p238...
Sent from the drools - user mailing list archive at Nabble.com.
15 years, 6 months
Event wait constraint syntax
by Ajay.Gautam@rbs.com
I am trying to figure out how to specify the constraint for Event wait.
The rules flow diagram attached would be launched for each incoming "request". The request is set in a process scope variable (reqIn). Each request has a *tag* associated with it.
The event wait in question is waiting for a response event with the same tag value.
How would I create a constraint rule to match this?
I guess the bigger question here is, how do I access the process scope request variable in the constraint?
Something like:
RFQResponse (tag == reqIn.tag)
PS: When I try this, I get an error: "Unable to create restriction '[QualifiedIndentifierRestr: == reqIn.tag ]' for field 'tag' in the rule 'RuleFlow-Milestone-com.rbs.gbm.pm.RFQ-WorkFlow-21' : [Rule name='RuleFlow-Milestone-com.rbs.gbm.pm.RFQ-WorkFlow-21']"
Any help / pointers would be highly appreciated.
Thanks
Ajay Gautam
*****Please note that my email address may have changed. For all
future correspondence, please use this address*****
********************************************************************This
message (including any attachments) is confidential and/or
privileged. It is to be used by the intended recipients only. If
you have received it by mistake please notify the sender by return
e-mail and delete this message from your system. Any unauthorized
use or dissemination of this message in whole or in part is
strictly prohibited. Please note that e-mails are inherently
insecure and susceptible to change. The Royal Bank of Scotland
Group, plc ("RBS") and its US subsidiaries, and affiliates and
subsidiary undertakings, including but not limited to, RBS plc New
York and Connecticut Branches, RBS Securities Inc., ABN AMRO Bank
N.V. New York and Chicago Branches and, ABN AMRO Incorporated,
Citizens Financial Group, Inc. and RBS Citizens, N.A., shall not be
liable for the improper or incomplete transmission of the
information contained in this communication or Attachment nor for
any delay in its receipt or damage to your system. RBS does not
guarantee that the integrity of this communication has been
maintained nor that this communication is free of viruses,
interceptions or interference. RBS and its subsidiaries and
affiliates do not guarantee the accuracy of any email or
attachment, that an email will be received or that RBS or its
affiliates and subsidiaries will respond to an email.
RBS makes no representations that any information contained in this
message (including any attachments) are appropriate for use in all
locations or that transactions, securities, products, instruments
or services discussed herein are available or appropriate for sale
or use in all jurisdictions, or by all investors or counterparties.
Those who utilize this information do so on their own initiative
and are responsible for compliance with applicable local laws or
regulations.********************************************************************
15 years, 6 months
performance issue in planning and scheduling application
by Co Nijn
Hi,
I’m interested in the application of Drools in the planning and scheduling
domain. In a planning application a planner can take planning decisions and
the system will determine all consequences of the planning decision
automatically and provides immediate visual feedback of these consequences.
For example, suppose that we have a number of machines and a number of jobs
and each job must be allocated to one of the machines; the objective is to
minimize the completion time of the latest job. In this case, there are two
types of planning decision: allocating a job to a machine and sequencing the
jobs on each machine.
I’ve been experimenting for a while to employ Drools 5.0 to determine the
consequences of the planning decisions. Many business rules in the planning
and scheduling domain are in fact calculations that express the
(declarative) dependency of an attribute of an object on the attributes of
one or more other objects. For the machine scheduling problem we have the
following business rules:
- A Job must be allocated to one Machine.
- A Machine can process at most one Job at a time.
- The completion time of an Allocation is equal to the start time of the
Allocation plus the processing time of the Job.
- An Allocation must not start before the release date of the Job
- An Allocation must be completed before or at the due date of the Job.
These rules can be formulated in Drools, for example:
rule "BR-ALLOCATION.COMPLETION_TIME"
when
$job : Job($procTime : procTime)
$allocation : Allocation($startTime :
startTime, job == $job)
then
$allocation.setCompletionTime($startTime +
$procTime);
end
Unfortunately my approach does not scale very well. I guess that this is
related to the way in which RETE works by keeping all possible pairs of Jobs
and Allocations in memory, although each Job is associated (object
reference) with at most one Allocation. Is there any which in which Drools
can take advantage of the fact that a Job has an explicit reference to an
Allocation? Do you have any suggestions on how to improve the performance?
In planning and scheduling applications it is not uncommon to have up to a
million objects in the working memory.
Regards,
Robin
15 years, 6 months
"Discouraged access" warnings when using Drools Eclipse Workbench
by Andre Santos
Hello,
I have a little piece of code I wrote to evaluate a simple fact type. The
code is basically this:
RuleAgent agent = RuleAgent.newRuleAgent("/test-config.properties");
RuleBase rb = agent.getRuleBase();
FactType testFact = rb.getFactType("testPackage.testFact");
Object factObj = testFact.newInstance();
testFact.set(factObj, "property", "value");
StatelessSessionResult rs = rb.newStatelessSession().executeWithResults(new
Object[] {factObj});
for (Iterator i = rs.iterateObjects(); i.hasNext();) {
//... retrieve results
}
This code works fine, but Eclipse highlights almost all of it with the
following warning message:
"Discouraged access: The method newRuleAgent(String) from the type RuleAgent
is not accessible due to restriction on required library
drools-core-5.0.1.jar"
The same warning is issued for many objects/methods in this code.
This only happens when I right-click my project and "Convert to Drools
Project", and all Drools dependencies (almost 80!!) are added to the
project. If I manually add only drools-api-5.0.1.jar, drools-core-5.0.1 and
mvel2-2.0.10.jar, no warnings are displayed.
So the questions are: is there something wrong with this code? Am I using
some restricted part of the API? Is it a problem with "Convert to Drools
Project"?
Any comments will be most welcome.
Best regards,
Andre
--
View this message in context: http://www.nabble.com/%22Discouraged-access%22-warnings-when-using-Drools...
Sent from the drools - user mailing list archive at Nabble.com.
15 years, 6 months
Possible bug in Drools Flow: Globals declared at EventWait node are not persisted to the rf file.
by Ajay.Gautam@rbs.com
PS: Is this the corrent list for rules flow users? Is rules flow an active project?
This might be a bug:
Globals declared Constraints for an Event Wait node don't show up in the headers section of the rf file.
Using Drools runtime 5.0.0 with Eclipse 3.4.1 on Win XP.
Steps:
1. Create a new rules flow file using the "RuleFlow file" wizard.
2. Add an Event Wait and an End node. Create connections between them.
3. Save the file. Open the rf file in another editor (such as vi). Analyze the structure.
4. From the event wait node's properties, open the constraints -> global section. Add "global String testStr"
5. Save the file. Open the rf file in another editor (such as vi). Notice that the global variable is missing from the file.
6. Perform the same steps, but use an Action node instead of an Event Wait node. Notice that testStr is added correctly to the header / globals section of the rf file.
Could anyone else pls confirm that this is a real issue.
Thanks
Ajay Gautam
Programmer/Analyst
RBS Global Banking & Markets
600 Washington Blvd, Stamford, CT 06901
Office: +1 203 897 6491
*****Please note that my email address may have changed. For all
future correspondence, please use this address*****
********************************************************************This
message (including any attachments) is confidential and/or
privileged. It is to be used by the intended recipients only. If
you have received it by mistake please notify the sender by return
e-mail and delete this message from your system. Any unauthorized
use or dissemination of this message in whole or in part is
strictly prohibited. Please note that e-mails are inherently
insecure and susceptible to change. The Royal Bank of Scotland
Group, plc ("RBS") and its US subsidiaries, and affiliates and
subsidiary undertakings, including but not limited to, RBS plc New
York and Connecticut Branches, RBS Securities Inc., ABN AMRO Bank
N.V. New York and Chicago Branches and, ABN AMRO Incorporated,
Citizens Financial Group, Inc. and RBS Citizens, N.A., shall not be
liable for the improper or incomplete transmission of the
information contained in this communication or Attachment nor for
any delay in its receipt or damage to your system. RBS does not
guarantee that the integrity of this communication has been
maintained nor that this communication is free of viruses,
interceptions or interference. RBS and its subsidiaries and
affiliates do not guarantee the accuracy of any email or
attachment, that an email will be received or that RBS or its
affiliates and subsidiaries will respond to an email.
RBS makes no representations that any information contained in this
message (including any attachments) are appropriate for use in all
locations or that transactions, securities, products, instruments
or services discussed herein are available or appropriate for sale
or use in all jurisdictions, or by all investors or counterparties.
Those who utilize this information do so on their own initiative
and are responsible for compliance with applicable local laws or
regulations.********************************************************************
15 years, 6 months
Comments Requested: Ideas on storing Drools Knowledge: The argument for JIRA as a knowledge store as well
by Premkumar Stephen
Hello all,
As a new user to Drools, I have been frustrated often and unable to find
much information. Below is an IM session where a couple of us discuss what
is missing and how we can fix it?
A lot of knowledge imparted in the IRC channels does not get recorded. I
believe it is the same with the mailing lists. They contain a lot of code
samples and fixes to them.
We also could utilize http://drools.pastebin.com/ for our code samples that
do not need persistence.
I would like to hear from the members ( and most importantly) from the core
group on what they think of this. Since they are meeting together anyways, I
hope that this is one of the discussions they have over beer.
==============================================================
mallen: Calling all BRMS / Guvnor experts! Does anyone know how to upload
multiple (50+) rules packages in one go? either through the web interface or
perhaps even programatically so we could knock a maven task together for it?
[06:05am] krisv left the chat room. (Ping timeout)
[06:06am] wheter_: mallen: I will be interested in such a solution as well?
jarek, can we start open JIRAs for such knowledge sharing too. If you ( or
others) update the JIRA, this will be more visible. there is a lot of stuff
that is posted on this IRC channel that just goes away. How about a JIRA
category called "FAQ" or "Knowledge sharing"? Will it pollute the JIRA
process?
[06:08am] wheter_: The nice thing would be that as bugs are fixed and
workarounds are found, they could be moved to the "FAQ" category as well so
that others who get the same problems can search and find it there
[06:08am] bjornelo: sounds like something that belongs on a wiki or
something else that isn't an issue tracker
[06:08am] wheter_: right, but see the state of our wiki
[06:08am] bjornelo: it's empty, afaik
[06:09am] wheter_: bjornelo: people will not go and update the wiki after
something is posted/a solution is found
[06:09am] wheter_: mostly
[06:09am] wheter_: we need to make the process easier and as automated as
possible
[06:09am] bjornelo: but people will go and update JIRA?
[06:10am] wheter_: In this idea, the conversation itself is tracked and no
further updates are needed.
[06:11am] wheter_: No, mallen has to create a JIRA and bring that to the
attention of the IRC folks bjornelo. When you have a solution, instead of
typing it into the chat channel, you update the JIRA and the conversation
should continue there for subjects that are really useful
[06:12am] bjornelo: aha
[06:12am] wheter_: bjornelo, if i was not around at this time, I would not
have known that there are others like mallen who are interested in this
solution
[06:12am] wheter_: some conversation does belong here in IRC but for example
see how me and Jaroslaw (jarek) communicated in GUVNOR-353
[06:12am] jarek: wheter_: sounds like a 'feature request' - which can be
also created in jira (besides bugs and tasks); however I wouldn't use jira
as a FAQ/wiki
[06:12am] bjornelo: what mallen posted sounds to me like what should be a
feature request on JIRA
[06:13am] wheter_: we used both the IRC and JIRA
[06:13am] wheter_: I beleive now that GUVNOR-353 is very well documented
[06:13am] wheter_: bjornelo: I suggest lets give it a try
[06:14am] wheter_: If it looks too bad, you can always blow it away
[06:15am] wheter_: bjornelo: I agree; but someone might post such a solution
on IRC, and this knowledge just goes away
[06:15am] bjornelo: i'm not trying to be adversarial. i want to see a more
structured source of information about drools as much as the next guy. i'm
just not sure JIRA is the place to put it
[06:15am] wheter_: I am suggesting a way to steadily improve our knowledge
collection
[06:16am] wheter_: bjornelo: the wiki is an awesome idea but needs effort.
The JIRA i believe is the current best way to go about it. I am going to
take this conversation of ours and post in the dev mailing list to see how
others think about it
[06:16am] bjornelo: how about if there's an interesting thread of
conversation on IRC, we create a new page on the drools wiki and paste in
the conversation there? then give it a headline that describes the subject.
link to it from some index of informal rule engine conversations?
[06:16am] wheter_: yes bjornelo; but see, it requires an active action; how
many people follow up
[06:17am] wheter_: the devs are so busy
[06:17am] bjornelo: then, if someone wants to formalize and clean up the
information in the conversation, that person can edit the page or create a
replacement
[06:17am] wheter_: the rest of the users have their own problems
[06:17am] bjornelo: how do you plan to avoid an active action for posting
stuff on JIRA? if nothing else, the registering process for jboss community
is a PITA
[06:18am] wheter_: i have GUVNOR-353 resolved, but do you think I am going
to take the time to load it into the wiki right now? My immediate problem is
over and I am looking to solve my next one
[06:18am] bjornelo: i suppose we could have an irc bot in here that we could
send triggers to that would autogenerate something on a webpage.. how does
bash.org work, for example?
[06:18am] wheter_: bjornelo, it really is one time, and your argument is
defeated, since you update the wiki, you need to register too
[06:19am] bjornelo: hmmm
[06:19am] wheter_: bjornelo: I am not familiar with IRC bots' capability
[06:20am] wheter_: reg. your comment about structured source of information,
I think the JIRA is highly structured
[06:20am] wheter_: since it has its own category, it will not come in the
way of developers looking for bugs to fix or feature requests
[06:20am] wheter_: and we can cross-link FAQs to other bugs / feature
requests
[06:21am] bjornelo: difficult to search through, though. i guess if you
could have a category of 'issues' that are just knowledge exchange, it would
be easier to find, but that would also require someone opening a new issue
or something
[06:22am] wheter_: that is what I suggested at the very beginning
[06:22am] wheter_: a new category like "bug" or "feature request"
[06:22am] wheter_: it really is not hard..JIRA also allows you to put in the
version of drools it is eligible for
[06:23am] wheter_: i believe the JIRA has more structure for adding
information that the wiki does ( in the wiki, you need to enter everything
manually)
[06:23am] wheter_: you can search better on a JIRA
[06:23am] bjornelo: so you mean that the devs should look at the comments on
the issue and move it to a 'knowledge' category when they solve the issue,
if they feel that it's an interesting topic?
[06:24am] wheter_: now, maybe the search engines might not index it.
[06:24am] wheter_: bjornelo: Agreed
[06:24am] wheter_: yes
[06:24am] wheter_: see my comments above on that
[06:24am] wheter_: me, being new to Drools am really stuck and could use the
wide body of information
[06:25am] wheter_: this also frees up the devs, since people do not come
back asking for the same issue
[06:26am] bjornelo: i'd suggest that this new category is another type of
'unresolved' or something, signalling that the information contained in the
issues is stuff that needs to be structured and moved into some kind of
documentation. be it either wiki or the manual or whatever else
[06:26am] bjornelo: 'due for documentation' or something
[06:26am] wheter_: To integrate the wiki with the JIRA, we could categorize
knowledge based on subcomponents, like Guvnor, Core, Solver, Chance etc in
wiki, under that the wiki should have different FAQs and then under that, a
link to the JIRA in question
[06:27am] wheter_: bjornelo: documentation that is pushed off for later,
especially for minor things, in my experience does not happen...it does not
have the urgency and in open source projects, people participate for the
urgency
[06:28am] bjornelo: true, but in that case it would still be available on
jira. the category is just named slightly differently
[06:28am] wheter_: I can start off on the initial integration of the wiki
and JIRA if conan and the rest of the folks ok it..my small bit for the
community
[06:29am] wheter_: right - so information is available from wiki, but in a
very structure format...
[06:29am] bjornelo: i think of it a bit like forums online. if you want to
find some old piece of information, you often have to go digging through 20+
pages of old threads to find what you're looking for. and often it's hiding
in a thread that isn't really relevant to what you're looking for
[06:29am] wheter_: also, people can add to that body of knowledge in the
JIRA as well
[06:30am] wheter_: right, but the main info can be summarized and put on the
wiki, if someone will do it, with a link to the JIRA
[06:30am] wheter_: bjornelo: very few JIRAs run like comment threads
[06:30am] bjornelo: i'm picturing a bunch of JIRA issues containing irc
convos and other interesting bits of information. the issues are 'open' in
the sense that they are waiting for someone to pick them up and write an
article or whatever about it and stick it on the wiki. if and when they do,
they close the corresponding JIRA issue, since the wiki now has structured
information to replace it
[06:31am] wheter_: I agree, if the wiki has captured all this information,
then this JIRA can be moved to a closed state, but the link still kept
[06:31am] bjornelo: and the wiki could be divided into expert, guvnor, flow
etc. each headlined with a link to the corresponding list of open JIRA
issues
[06:32am] wheter_: now, we are echoing each other
[06:32am] bjornelo: so, the user starts by looking at the wiki. if the
information is not found there, the user follows the link to the JIRA issue
list and can look further
[06:32am] wheter_: agree
[06:32am] bjornelo: yep
[06:32am] wheter_: Here's what I am going to do
[06:32am] bjornelo: now we just need someone to implement it
[06:33am] wheter_: I am going to send a mail to the mailing lists with our
chat conversation out there, and see the responses to it, specifically from
the core team.
[06:33am] wheter_: bjornelo: are you core?
[06:33am] bjornelo: not at all. relatively newbie user
[06:33am] wheter_: well, we are doing our bit I guess
[06:34am] bjornelo: i'll be quite interested in seeing responses to this
[06:34am] wheter_: the funny part is we buried mallen's question and no one
will see it now
[06:34am] wheter_: sorry mallen
[06:34am] bjornelo: lemme just do this, then.
[06:34am] bjornelo: 12:04 < mallen> Calling all BRMS / Guvnor experts! Does
anyone know how to upload multiple (50+) rules packages in one go? either
through the web interface or perhaps even programatically so we could knock
a maven task together for it?
==============================================================
Regards,
Prem
15 years, 6 months
Default rule
by Malenfant, Andre
Anyone knows if it is possible to have a `default` rule that would fire only if others have not?
Also, is there a way, using decision tables in XLS, to look if the value of a field is contained in a list elsewhere in the XLS?
Thanks
André
15 years, 6 months