Overall, our mission is to
develop technology that is highly reusable and easy to integrate with a broad spectrum
of networked applications. Towards this end, we prototype applications in
tandem with developing reusable componentry. We also contribute to company-wide
efforts in strategy and in common architecture, e.g., for inter-agent
knowledge-level communication and inter-operability. Our reusable technology
for business rules and rule-based intelligent agents is embodied as an
extensible structured Java library, called CommonRules (formerly called
DIPLOMAT; follow-on to RAISE and Agent Building Environment implemented in C++).
An alpha
prototype of CommonRules has been released (free with trial license) on the
Web, at AlphaWorks. You can
see the overview of the CommonRules 1.0
release of July 30,
1999.
Specifically,
we have been developing:
1.
New fundamental techniques for business rules interoperability,
prioritized conflict handling, and procedural attachments. These techniques
include: an XML interlingua for communication; and an extended core knowledge
representation, with declaratively clean semantics, that facilitates updating
and execution.
2. The new techniques are embodied in a core rules technology prototype called CommonRules, formerly called "DIPLOMAT" (e.g., in many of our papers and talk slides). CommonRules is a Java library. CommonRules's starting point is:
* declarative logic programs as a core rule
knowledge representation. ("Declarative" means having declarative
semantics in the sense of knowledge representation theory; this is independent
of details of procedural inferencing control and implementation, including of
whether the direction of inferencing is forward chaining or backward chaining.
Declarative semantics say what set of conclusions is sanctioned for each given
set of premises. Pure Prolog, by contrast, is a particular kind of
backward-inferencing logic program.)
a)
courteous
logic programs as a knowledge
representation, which expressively extends ordinary logic programs to
enable prioritized conflict handling of a practical and clean kind. This
prioritized conflict handling.
Courteous
logic programs allow the specification of the scope of potential conflict, via pairwise
mutual exclusions called "mutex's". E.g., one might specify that
discounting price by X percent is mutually exclusive with discounting price by
Y percent (whenever X and Y are not equal). These mutual exclusions are then
enforced in the sense that the conclusion set is guaranteed to be consistent
with (i.e., to respect) all the specified mutual exclusions. Courteous logic
programs also include classical negation; a simple kind of mutual exclusion is
between p and classical-negation-of-p. Courteous logic programs further allow
the specification of partially-ordered priorities between rules. Conflict
between rules is resolved using these priorities. The prioritized conflict
handling enables modularity and locality in updating, merging, and specifying/maintaining
rule sets. Changes in rule sets can much more often be specified simply by
adding new rules, without having to modify previous rules. This enables a more
natural style of specification and communication, closer to how humans specify
and communicate rules in natural language and closer to subclassing/inheritance
in object-oriented programming.
Courteous
logic programs are thus a form of prioritized logic programs. More generally,
courteous logic programs are a form of prioritized default reasoning. Unlike
previous highly expressively powerful forms of prioritized defaults (e.g.,
Prioritized Circumscription or Prioritized Default Logic), courteous logic
programs are computationally tractable under common expressive restrictions
(e.g., no non-0-ary logical functions and a bounded number of logical variables
per rule).
d)
an XML interlingua (i.e.,
syntactic interchange format) for such translation, called Business Rules
Markup Language (BRML). The current version of BRML expresses courteous
logic programs, which overlaps with a broad subset of KIF.
e)
situated courteous/ordinary
logic programs, which expressively extends courteous/ordinary logic programs to
include procedural attachments of a powerful but semantically-clean
kind. "Situating" a rule set or a rule engine means associating its
pure-belief expressions with external procedures (i.e., external to the rule
engine proper) for performing actions and testing conditions. (Such associations
are called "procedural attachments" in knowledge representation
theory.) More precisely, the procedural attachments provided in situated logic
programs include:
* effectors that perform actions upon drawing conclusions in rule consequents.
* sensors that perform queries during testing of conditions in rule antecedents.
These
effectors and sensors are specified by statements that "link" (i.e.,
associate) them to predicates. These effector and sensor link statements are
treated as part of the knowledge representation, similarly to rules and
mutex's.
f)
a sample rules engine, that
does forward-direction exhaustive inferencing for a broad case of situated
courteous/ordinary logic programs.
The
rationale for the name "CommonRules" is as follows. Our
approach/prototype supports rules that are common in the sense of a
highly interoperable knowledge representation, with consensus semantics shared
by many heterogeneous rule systems/languages. The XML interlingua in particular
is a common syntactic format. The courteous expressive extension
provides some "common-sense" reasoning capabilities, in the
sense of knowledge representation theory and artificial intelligence, because
the prioritized conflict handling enables rules to be specified in a more
modular and natural style, closer to natural language and object-oriented
subclassing/inheritance.
We
have further been developing a new pilot applications for these fundamental
business rules techniques in intelligent agents and e-commerce. These
applications include especially:
a)
negotiations, including
procurements & auction configuration
b)
catalogs & storefronts
c)
security authorization &
trust management
and
also other applications such as
financial.
As
part of all this, our group leads a
major portion (including the
IBM Research portion and additional aspects) of the $29 Million
EECOMS NIST match-funded ATP project, a 3-year industry
consortium project (1998-2001) in intelligent agent-based manufacturing supply
chain integration, led by IBM, also including Baan, Boeing, TRW, several
universities, and some smaller companies. Our role is in the use of rules,
especially for the contents of negotiation messages, e.g., product/service
descriptions and conditions.
The Information Economies Project also grew out of the earlier Intelligent Agents
project. It investigates economies composed of intelligent agents that buy and
sell to each other, including brokering, learning, pricing, game-theory, and
large-scale market phenomena. It thus explores issues that will in future be
important for practical e-commerce agents, including those built using the
techniques in the BREC project.
(Started in 1997, this project grew
out of the earlier Intelligent Agents project (1994-97) at IBM T.J. Watson Research Center.)
Comments
Post new comment