Title: Business Rules and Web Services Research Group
1Business Rules and Web Services Research Group
- A proposal for a joint UNB/NRC Research group
- Bruce Spencer
- Feb 28, 2002
2Motivation
- Flexibility and rapid configuration of web
services - requires a specification language
- Emerging standards, established technologies
- XML, RuleML
- SOAP (Simple object access protocol)
- A part of the Semantic Web effort of W3C
- where computers have access to meaning
- Visible research
- helps graduates find work
3Basic Rule types
- Deduction rules
- if A is true then (assert that) B is true
- Reaction rules
- if A is true then do B
- Event/Condition/Action rules
- if A occurs and B is true then C is true
- if A occurs and B is true then do D
4What can rules state?
- A ? B means ?A ? B
- If you find out that A is true then you can
conclude B - In every possible situation (web page) either A
is false or B is true. - for every customer, either she is not a premium
customer or she gets a discount
5Existing Rule Languages/Systems
- BRML
- CommonRules (IBM developerWorks)
- Benjamin Grosof
- RuleML
- j-DREW, Mandarax
- javax.rules (proposed API)
6Upcoming Workshops
- BASeWEB
- at AI 2002 (Calgary May 2002)
- Business agents and the semantic web
- Rule Markup languages for Business Rules in the
Semantic Web - at International Semantic Web Conference
(Sardinia, June 2002)
7Application areas
- Privacy rules
- P3P-Appel language
- rules to control permissions on who gets access
to my cookies - Personalized price quotes
- based on customer profile
8RuleML
lt_bodygt ltandgt ltatomgt
lt_oprgtltrelgtpremiumlt/relgtlt/_oprgt
ltvargtcustomerlt/vargt lt/atomgt ltatomgt
lt_oprgtltrelgtregularlt/relgtlt/_oprgt
ltvargtproductlt/vargt lt/atomgt lt/andgt
lt/_bodygt lt/impgt lt/rulebasegt
- lt?xml version"1.0gt
- ltrulebasegt
- ltimpgt
- lt_headgt
- ltatomgt
- lt_oprgtltrelgtdiscountlt/relgt lt/_oprgt
- ltvargtcustomerlt/vargt
- ltvargtproductlt/vargt
- ltindgt5.0 percentlt/indgt
- lt/atomgt
- lt/_headgt
-
discount(Customer, Product, 5.0 percent) ?
premium(Customer), regular(Product).
9Industrial Groups
- NISUS
- www.nisusinc.com
- Said Tabet
- verifying stock market sales
- SpiritSoft
- Steven Ross-Talbot
- www.spiritsoft.net
- java messaging tool
10Strengths at UNB
- Software engineering and web services
- Automated Reasoning group
- AI group
- Brad Nickerson and Kirby Ward
11Some suggested topics
- Generic Top-Down ECA Rule Engine
- j-DREW handles the conditions
- parsing, lookup, unification of terms
- Events and actions applied to Java event model
- Web entity registers interest in an event
- solution events occur asynchronously
- multi-layered architecture with separate concerns
among the different layers
12Generic Bottom-up ECA Rule Engine
- similar background tools (unification, parsing)
- similar web interface to API
- track emerging standards of rule engines
13Specific details
The fact that is added is spending(Peter
Miller,min 5000 euro,previous year)lt-. The
action that the customer is interested in is
any additions to the discount facts that match
the general form discount(Z, Peter Miller,
X). One could imagine extending this example
with a car dealership with a much larger
inventory and in that case the forward chaining
engine might calculate Peter's discount for all
the cars. It may be that this is what Peter
wants. However, if he is interested in the
discount for a specific car, the facts that he is
interested in are of the form
discount(Porsche, Peter Miller, X). In this case
a goal-directed inference system might be
more appropriate. The top-down inference engine
would thus be better to use. The inference
machinery should have the choice of asking
for Peter's discount with either forward chaining
or backward chaining. A third option is to use
tabled deduction to create Peter's answer.
- We need a forward chaining engine for definite
clauses to be - integrated with java's event model.
Asynchronously an event is - initiated by a client, who contacts the server.
The client - registers interest in a specific action with the
server, and then - adds a new fact to the server. On the addition
of this new fact, - the forward chaining engine running on the server
runs to - saturation and possibly eventually fires a rule
with an action. That - action initiates a response by Java's event
handler, notifying - all interested parties. One of those parties,
possibly, is the - client that initiated the chain of events, and it
then hears - about the action taken by the inference engine.
- For a very simple example, the client is a
shopping program and - wants to hear about a price quote of a specific
item. The fact - that is added is a customer profile and the event
that the - customer is interested in is the price quote for
that shopper. - The rules are
- discount(V0,V1,5.0 percent)lt-premium(V0),regular(V
1).
14Emerging ideas
- JMS meets JCACHE in Feb 2002 Java Developers
Journal
15Proposed procedure
- Meet as a group on alternate Thursdays 10 AM
- Meet with (co)supervisors other Thursdays
- Discuss areas of interest, proposals, technology,
- Development of prototypes a major thrust
- Explore guest worker agreement at NRC (NRC
management is on-side here)
16Web sites
- www.dfki.de/ruleml
- www.nisusinc.com
- www.spiritsoft.net
- www.middlewarespectra.com/abstracts/2002_02_04.htm
- www.sys-con.com/java/articlea.cfm?id1301
- www.alphaworks.ibm.com/tech/commonrules
- www.microsoft.com/net/use/nethess.asp
- h