x\|^
HD28
.M41A
i^
Business
uLMIT
MIT
Sloan
School
of
Management
Sloan
Working
Paper
4187-01
eBusiness@MIT
Working
Paper
113
October
2001
A
DECLARATIVE
APPROACH
TO
BUSINESS
RULES
IN
CONTRACTS:
COURTEOUS
LOGIC
PROGRAMS
IN
XML
Benjamin
Grosof,
Yannis
Labrou,
Hoi
Y.
Chan
This
paper
isavailable
through
the
Center
foreBusiness@MIT web
site atthe
following
URL:
http://ebusiness.mit.edu/research/papers.html
This
paper
alsocan be
downloaded
without
charge
from
the
Social
Science
Research
Network
Electronic
Paper
Collection:
A
Declarative
Approach
to
Business
Rules
in
Contracts:
Courteous
Logic
Programs
in
XML
*Benjamin
N.
Grosof
IBM
T.J.Watson
Research
Center,
P.O.Box
704,
Yorktown
Heights,
NY
10598,
USA
grosof@us
.ibm.
com
(alt.:grosof
@cs .Stanford,
edu)
http
://www
.research
.ibm.
com/people/g/grosof
/
Yannis
Labrou
Computer
Science
and
ElectricalEngineering
and Department
University
of
Maryland, Baltimore County,
Baltimore,
MD
21250,
USA
j
klabrouOcs
.urnbc
.edu
http
://www.
cs
.umbo
.edu/~
jklabrou/
Hoi
Y.
Chan
IBM
T.J.Watson
Research
Center,
RO.
Box
704,
Yorktown
Heights,
NY
10598,
USA
hychanOus
.ibm
.com
Abstract
We
address why, and especially how, to representbusiness rules in
e-commerce
contracts.By
con-tracts,
we mean
descriptionsofgoods andservicesoffered or sought, including ancillary agreements
detailmg tenris ofa deal.
We
observe that rulesareusefulin contractstorepresent conditional
rela-tionships,e.g., interms
&
conditions, serviceprovi-sions, and surroundingbusiness processes, and
we
illustrate thispointwith severalexamples.
We
analyze requirements (desiderata) forrepre-senting such rules in contracts.
The
require-ments mclude: declarative semantics so as to
en-ablesharedunderstanding andinteroperability;
pri-oritized conflict handling so as to enable
modu-lar updating/revision; ease ofparsing; integration
into
WWW-world
software engineering;directex-ecutabihty;and computationaltractability.
We
give a representational approach that consistsof
two
novel aspects. First,we
give anew
fun-damental
knowledge
representation formalism: ageneralized version
of
Courteous LogicPrograms
(CLP), which expressively extends declarative
or-dinarylogic programs
(OLP)
toincludeprioritizedconflicthandling, thus enablingmodularityin
spec-ifying and revisingrule-sets.
Our
approach to im-plementingCLP
isacourteouscompilerthattrans-Copyright
ACM.
To appear: Proceedings of the1st
ACM
Conference on ElectronicCommerce
(EC99),to be held Denver, Colorado,
USA,
Nov. 3-5, 1999.Edited by Michael
R
Wellman.New
York, NY:ACM
Press, 1999.
http://www.ibm.com/iac/ec99/
orhccp; //www. acm.org.
forms any
CLP
intoasemantically equivalentOLP
withmoderate,tractablecomputationaloverhead.
Second,
we
give anew
XML
encoding ofCLP,called BusinessRules
Markup
Language
(BRML),
suitable for interchange between heterogeneous commercial rule languages.
BRML
can alsoex-press abroad subseto fANSI-draft
Knowledge
In-terchange
Format
(KIF)which
overlapswith CLP,Our
new
approach, unlike previous approaches,provides not only declaratives emantics but also
prioritized conflict handling, ease ofparsing, and
integration into
WWW-world
softwareengineer-ing.
We
argue that thisnew
approach meets theoverall requirements to a greater extent than any
ofthepreviousapproaches, including than KIF, the
leadingprevious declarative approach.
We
haveimplemented
both aspects of ourap-proach; a free alpha prototype called
Common-Rules
was
releasedon
theWeb
inJulyof1999,athttp
://alphaworks
.ibm.
com.
An
extended version ofthis paper will beavail-able as afo rthcoming
IBM
Research Report (athttp
://www.
research
.ibm.
com).1
Introduction
One
form ofcommerce
thatcouldbenefitsubstantially from automation iscontracting,whereagentsformbinding.agree-able terms, and then execute these terms.
By
"agents",we
mean
initially parties intheEconomics
sense,e.g., asbuyers or sellers; however, once automated, these agents might beBy e-commerce
"contracts",we
mean
inabroadsense:de-scriptions
otgoods
andservices offered or sought,alongwithapplicable terms
&
conditions, i.e., ancillaryagreementsde-tailing teniis ofadeal.
Such
terms includecustomerserviceagreements, delivery schedules, conditions forreturns,usage
restrictions, and other issues relevant to the
good
or service provided.Such descriptions are to be found in catalogs and
store-fronts,as well asinbidsandrequests
communicated
(e.g.,byagents)during negotiations,procurements,andauctions.
The
overall contracting process comprises several stages,including broadly:
1
.
Discovery: Agentsfind potential contractingpartners.
2. Negotiation: Contract terms are detemiined through a
processof
communication
betweenagents,ofteninvolv-ingiterativemodificationofthecontract terms.
3. Execution: Transactions and other contract provisions
areexecutedbythe agents.
We
observe thatmany
contract terms involve conditionalrelationships,and canconvenientlybe expressedas rules, of-ten called business nileso r business policies. (Sometimes,
"business rule" is used to
mean
any kind ofsignificantap-plication logic, e.g., thealgebraic formula forcomputing an
insurance annuity.
By
"rule" in this paper,we mean
more
specifically an implication(i.e.,
IF-THEN)
inwhich
thean-tecedent (i.e., the IF part)
may
contain multiple conjoined(i.e.,
AND'ed)
conditions.)For example,rules areusefulindescribing:
• terms
&
conditions,e.g.,rules forpricediscounting;• service provisions,e.g.,rules forrefunds;and
• surroundingbusiness processes, e.g.,rules forleadtime
toplaceanorder.
(Section 2 elaborates on these examples.)
We
believe thatrules as an overall representational approach capture well
many
aspectsofwhat onewould
liketodescribeinautomatedcontracts.
In this
work
we
areconcernedprimarily with thenegotia-tionstageofcontracting,andspecifically with
how
torepre-sentbusinessrulesin contracts.
The
contracttermsmay
ormay
notbemodifiedduringthenegotiation stage. Ifnot, thenegotiation stage
may
be arel-ativelysimple processof
communication
followedbyaccep-tance. Crucial during negotiation, however, isthatal 1 agents must understand andagree. Interms ofautomation, the
con-tract has to be
communicated
and digested by each agent,with shared semantics.
(More
generally,some
agentsmightbe
human,
as well as automatic; however, the aspects ofhu-man
interaction arebeyond
thescope ofthispaper.)Our
goalisasharedlanguage withwhich
agentscanreacha
common
understanding ofrules in contracts, such that therules are relatively easily modifiable, communicatable, and
executable bytheagents.
Note that
we make
a sharpdistinctionbetween therepre-sentational
mechanism
forcommunicating
contractrules,andthe actual rule execution
mechanisms employed
bypartici-patingagents.
Our
concern hereiswiththe former,though ofcourse in designinga
communication
mechanism
one mustconsiderand anticipate the requirements ofexecution to be
performedby each oftheagents.
We
will take a declarative approach to business rules incontracts.
By
"declarative" semantics for rules,we
mean
in the sense of
knowledge
representation(KR)
theory, in amanner
abstractedaway
fromthe choice ofim plementationapproach: the semantics say
which
conclusions areentailed(e.g., model-theoretically) by a given set ofpremises, with-outdependence
on
procedural or control aspectsofinferencealgorithms. Inparticular,declarativesemanticsabstract
away
from whether the direction ofrule inferencing is
backward
versusforward.
2
Example
Roles
for
Rules
and
Prioritized
Conflict
Handling
Next,
we
give afew briefexamples, expressed innaturallan-guage, ofbusiness rules incontracts.
As
we
go,we
will seeboth theneed forprioritized conflicthandling
—
becauseofconflict,and theopportunity forprioritized conflicthandling
—
because ofnaturallyavailableprioritizationinformation.Example
1(Refund
Policy)A
typicalexample
ofaseller'srefundpolicyis:• (Rule A:) "Ifbuyerreturns the purchased
good
foranyreason,within30days, then thepurchaseamount,minus
a
10%
restockingfee,willberefunded."• (Rule B:) "Ifbuyerreturnsthepurchased
good
becauseitisdefective,within I year,then thefullpurchase
amount
willberefunded."
• (Priority Rule:) "If both Rules
A
andB
apply, thenRule
B
'wins', i.e.,thefullpurchaseamount
willbe re-fiinded".Here,
we
say arule"applies"when
that rule'sbody
(i.e.,an-tecedent) issatisfied.
The
PriorityRule isnecessarybecauseitcanhappenthat thebuyerreturns the
good
becauseit isde-fective within 30 days. Inthis case,Rules
A
andB
conflictwith each other; both rules apply but theirconsequents are
incompatible witheachother.
The
conflictisresolvedbypri-ority: Rule
B
isspecifiedtohavehigherprioritythanRuleA.Example
2(Lead
Time)
In business-to-business
commerce,
e.g., in manufacturingsupplychains,sellersoftenspecify
how much
lead time,i.e.,minimum
advance notice before scheduled delivery date, isrequired in order to place or
modify
a purchase order.An
example
ofapartssuppliervendor's leadtimepolicyis:• (Rule A:)"14 daysleadtimeifthebuyer isapreferred
• (Rule B:) "30 days lead time ifthe ordered item is a
minorpart."
• (Rule C:) "2 dayslead time it": the ordered item's
itein-typeisbackloggedatthevendor,andtheorderisa
mod-ification toreducethe quantityoftheitem,andthebuyerisapreferredcustomer."
• (Prioriis Rule:)"II'Rules
A
andC
both apply, then RuleC
'wins', i.e.,2 dayslead time,"The
rationale forRuleC
is thatthe vendorishaving troublefillingitsoverallorders(fromall itsbuyers) fortheitem,and
thusISpleasedtohave thisbuyerrelieve thepressure.
Rules A, B,and
C
may
conflict:two
orthreeofthem
mightappK
to agivenpurchase order.The
PriorityRule providespartial prioritizationinformation-itsrationale might bethat
Rule
C
ismore
specific, ormore
recent,than Rule A.How-ever,theaboverule-setleavesunspecified
how
toresolvecon-flictbetween Rules
A
andB, forexample;norelativeprioritybetween
them
isspecifiedasyet. Thisreflects acommon
sit-uation
when
rules accumulate overtime, or are specifiedbymultiple authors: atanygiven
moment
duringthe processofincremental specification, there
may
be insufficient justifiedpriority toresolveallpotential conflicts.
Example
3(Bookstore Personalized Discounting)Sellersoften providepersonalized price discounting.
A
topicofconsiderable interesttoday
among
e-commerce
sellers ishow
todothismore
cheaplyand uniformlyby
automatingit.An
e.xampleofabookstore'spersonalizeddiscounting policyis:
• (Rule A:) "5 percent discount ifbuyer has a history of
loyalspendingatthe store."
• (Rule B:) "10percent discountif buyerhas a history of
bigspendingatthestore."
• (Rule C:) "5 percent discountifbuyerhasa storecharge
card."
• (Rule D:) "10percentdiscountifbuyeris a
member
ofthe store'sPlatinumClub."
• (Rule E:)
"No
discountif buyerhas alate-paymenthis-toryduring thelastyear."
• (Priority Rules:)
"B
ishigher prioritythan alltheoth-ers;
D
ishigher prioritythanA
and than C;E
ishigherprioritythan
A
andthanC
andthan D."Here,the PriorityRulesspecifyasetofprioritycomparisons,
that are sufficient toresolveallthepotential conflicts
among
the rules.
More
Example
Roles
for
Rules
We
believethatmany
contractterms can bewell representedasrules.
• Policiesabout cancellingordersareoften similarinfeel
totheexamples above aboutrefunds andleadtime.
• Policies about discounting for
groups
or preferredcustomer organizations, e.g., hotel discounts for
AAA
members,
areoften similarin feeltotheexample above aboutpersonalized discounting.• In supplychain settings: requests forproposals,and
re-sponding bids, often involveconditional relationships
between
price, quantity,and
delivery date, e.g., "Ifthe order quantity is between
400
and 1000 units, andthe delivery date is between 15 and 30 daysfro
m
theorderdate,then the priceis$48perunit.".
• In
product
catalogs,many
properties ofa product aremost naturally specified as conditional onother
proper-tiesofthatproduct, rather thanbeingparticulartoan
in-dividual product. E.g.,"all laptopcomputersinclude an
internal
modem".
E.g., "allwomen's
T-shirts areavail-able in sizes
XS,
S,M, and
L", "all men's T-shirts areavailable insizes S,
M,
L,XL,
andXXL",
and "allT-shirts are available in colors navy, khaki, and black".
E.g.,"all
V-neck
sweatersareavailableinfabricsacrylicand cashmere".
• Policies aboutcreditworthiness, trustworthiness,
and
authorization are often naturallyexpressed interms of
sufficientand/or necessaryconditions.
Such
conditionsinclude: credentials, e.g., credit ratings or professional
certifications; third-party recommendations; properties
ofa transactioninquestion,e.g.,itssizeor
mode
ofpay-ment;andhistoricalexperience
between
theagents,e.g.,familiarityorsatisfaction.
3
Rule
Representations: Previous
Approaches
including
KIF,
Requirements
Analysis
In section 1,
we
stated that in thiswork
ourgoal isa sharedlanguage with
which
agents can reach acommon
under-standing ofrules in contracts, such that the rulesa re rela-tively easily modifiable,communicatable,
and executablebythe agents.
In this section,
we
analyze and elaborate theserequire-ments (i.e., criteria or desiderata,
which
we
bold-facethroughoutthissection)forarulerepresentation,anddiscuss
candidate previous approaches in light of them, as
motiva-tion for our approach.
We
beginby
reviewing previous ap-proaches.There are multiple approaches already in wide
imple-mented
commercial useforrepresentingbusinessrulesgen-erally (not for contracts in particular).
One
approach isdi-rectly as if-then code constructs in general-purpose
imper-ative
programming
languages such as C,C++,
and Java'.Other approaches are
more
specific to rules.A
secondap-proach is Prolog [3], a
programming
language orientedto-wards backward-chainingrules.
A
thirdapproach, closelyre-lated toProlog,is
SQL
views. InSQL-type
relationaldatabasesystems [22] aview isdefined, in eflect, bya setofrules.
A
fourtliapproach, fairlycloselyrelatedto
SQL
views,iseveni-coiiJiiion-action rulesI"active rules"/"triggers" [22] ofthe kind found in
many
database systems and routing systems.These are forward-directed, triggered by events such as
up-dating a database relation.
A
fifth approach isproductionrules, a form offorward-chaining rules, ofthe kind in
sys-tems descended from the
0PS5
system [4]. Thereare otherapproachesas well,e.g., inexpertsystems,knowledge-based
systems, and intelligent agent buildingtools, butthe
above-listed are probably the currently most commercially
impor-tant,especially
m
e-commerce.A
sixthapproach forrepresenting business rulesisKnowl-edge Interchange
Format
(KIF)^.KJF
is not a directlyex-ecutable representation. Rather,
KIF
is a language forin-terchange of knowledge, including rules, between
heteroge-neous software systems, e.g.,agents.
More
precisely,KIF
is a prefix' version offirst-order predicate calculus (i.e.,first-orderclassical logic) with extensionsto supportthe "quote"
operator(thusenabling additional expressiveness akintothat
ofclassical higher-order logic) and definitions.
KJF
is cur-rently well along in theANSI
standards committeeprocess.Supporting orendorsing
KIF
is alsobeing consideredinfor-mallyinseveralotherstandardseffortsrelevanttoagent
com-munication,e.g., FIPA^'.KIF,however,isnot yetinwide
im-plementedcommercialuse.
Next,
we
elaborateon requirements andrelatethem
totheprevious approaches.
One
group of requirements revolvesaroundheterogeneity. Specifically,the multiplicity of widely implemented approaches implies an immediate requirement
to cope with heterogeneity of implementations of
busi-ness rules.
The
ability tocommunicate
with sharedunder-standing then implies the requirements ofinteroperability
with declarativesemantics.
The
above-listedwidelyimple-mented
approacheslackfully declarativesemantics.Communicatabilityandinteroperability implythe
require-ment
of ease ofparsing rule-sets that are being communi-cated. Interoperability and practical executability imply therequirementofintegration into
WWW-world
softwareen-gineering overall.
The
XML
aspect of ourapp roachfacili-tates such parsingandintegration.
A
second group of requirements revolves aroundexpres-siveness.
A
basicoverall requirementisexpressivepower
inspecifyingrules.Practical executability,however,implies the
strong desire forcomputationaltractability inthesenseof
average-case and worst-case complexity. Expressive
power
hastobe balancedagainsttractability.
^http
://logic
.Stanford.
edu/kif
/ andhttp
://www. cs
.umbo
.edu/kif/
^The current draft
ANSI
specification of KIF(http
://logic
.Stanford.
edu/kif
/dpans
.html) alsoincludesan infix versionofKIFintended for
human
consumptionratherthanautomated exchange.
"Foundation for Intelligent Physical Agents:
http
://www
.fipa
.org
Ease ofmodifiability implies the requirement of
expres-siveconveniencefortheprocessofspecification. Expressive
convenienceisinpartan aspectofexpressivepower,butalso
impliestheneedforconceptual naturalnessofsemantics.
An
important aspect ofexpressivepower
isthe ability toconvenientlyexpressrules thatarelogicallynon-monotonic,
i.e.,rules that
employ
negation-as-failure or are defaultrules.In particular, it is important to conveniently express
pri-oritized conflict handling, i.e., where
some
rules aresub-ject to overridebyhigher-priority conflicting rules, such as
by special-case exceptions, by more-recent updates, or by
higher-authority sources.
As
we
saw
in ourcontractrule-setexamples insection2, conflict, andthe need/opportunity for prioritizedoverride,frequentlyarise.
Most
commerciallyimportantrule systems (including theabove-listed widely implemented approaches)
employ
non-monotonic reasoning as an essential, highly-used feature.
Typically, they
employ
some
form ofnegation-as-failure.Of-ten they
employ some
forni ofprioritized override betweenrules,e.g.,thestaticrulesequence in Prologorthe
computed
rule-activation sequence/"agenda" in 0PS5-heritageproduc-tion rulesystems.
In
modern
software design, it is widely recognized thatavital aspect ofmodifiability
ismod
ularityand
locality inrevision, e.g., in the
manner
that subclassing andinforma-tion hiding provide in object-orientedprogramming.
Prior-itized conflict handling enables significantly easier
modifi-cation and
more modular
revision/updating.New
behaviorcan bespecified
more
often by simply addingrules, withoutneedingto
modify
theprevious rules. E.g., amore
specific-caserulecan beadded andgiven higher-priority thana
previ-ousgeneral-caserule,without needingto
modify
thegeneral-case rule. This is similar to the modular/local gracefulness
inobject-oriented
programming
of addingasubclass withoutneedingto
modify
thesuperclass.Another important aspect of expressive power, in rela-tion to practical executability, is the ability to conveniently
express procedural attachments. Procedural attachments
are the association of procedure calls with belief
expres-sions, e.g., in
Example
1,the associationofthe Javamethod
CustomerAccount
.setCredi tAmount
with thelogi-cal predicate
refund.
Procedural attachmentsare crucial inorder for rules to have actual effect
beyond
pure-beliefin-ferencing, e.g., forac tions tobe invoked/performedas a
re-sult after rule conclusions are inferred. Procedural
attach-ments are also very useful to invoke procedure calls
when
rule conditions are tested/queried.
Almost
all oftheabove-listedwidely
implemented
approachesincludeproceduralat-tachments.
However, procedural attachments are semantically
prob-lematic,andanopenresearch issuetodayis
how
togivethem
a semantics thatabstracts
away
from implementation detailsand isthus akin tobeingdeclarative. (See the discussion of
K.IFhas been developed specifically forpuqioses of
com-munication, in responsetothe need tocopewith
implemen-tational heterogeneityofrulesand otherknowledge.
By
con-trast with the abo\e-listed widely implemented approaches,
KIF
has afullydeclarativesemantics; indeed,that isitsmainintendedstrength. Itsdeclarativesemantics isbased
on
clas-sicallogic,primarilyfocusingonfirst-order logic. First-order logic is logically monotonic, highly expressive,and
compu-tationally intractable (toperform inferencing)forthegeneral caseKIF
can express a broad class ofrules. However, it hasseveral important shortcomings as a language for business
rules in e-commerce, including in contracts.
Perhapsm
ost crucially,KIF
has a shortcoming ofits fundamentalknowl-edge representation (KR): it cannot (conveniently) express
logical non-monotonicity, including negation-as-failure,
de-faultrules,and prioritized conflicthandling;KI Fis logically
monotonic.
KIF
alsocannot(conveniently) expressprocedu-ralattachments; itisapure-belief
KR. KIF
hasbeen designedwith an orientation towards
knowledge
as a non-executablespecification as
much
ormore
thantowardsknowledge
asex-ecutable. Also, the
KIF
efforthasfocusedmore
ona highlyinclusivelyexpressive representation than
on
easeofdevelop-ing translatorsinandoutofthatrepresentation (this is
some-thing the
XML
aspectof ourapproach improvesupon).Inour \ievv. none oftheabove-listed previousapproaches
to representing business rules, nor any other previous
ap-proachthat
we
areawareof,satisfactorilymeetsthewhole
setof requirements
we
listedabove(in bold-face). Inparticular,the widely-implemented approaches above lack sufficiently
declarative semantics; KIF, though declarative, lacks logical
non-monotonicity.
KIF'sdeclarativeapproachdoes,however,inspireusto
de-velopour
own
declarative approach.4
A
New
Declarative
Approach
toRules:
Courteous
Logic
Programs +
XML
The
approach is tochoose Ordinary LogicPrograms
(OLP)
—
inthedeclarativesense([1]providesahelpfulreview), notProlog
—
asafundamentalKR,
plustoembody
thisKR
con-cretely in
XML
forpurposes ofcommunication
betweenthecontracting agents. ' Logic programsarenoton
lyrelatively
powerfulexpressively,butalsopractical, relatively
computa-tionally efficient,and widelydeployed.
We
expressively extend the approach's declarativefun-damental
KR
formalism to be Courteous LogicPrograms
(CLP).
CLP
expressivelyextends Ordinary Logic Programsto include prioritized conflict handling, while maintaining
computational tractability.
CLP
isapreviousKR
[10]which
"Ordinary"logicprogramsarealsosometimes
known
as"gen-eral"(e.g.,in[1])or"normal"logicprograms,or as(thedeclarative versionof)"pureProlog".
we
haveherefurtherexpressively generalized, notablytohan-dle pairwise mutual exclusion conflicts, rather than simply
conflictsofthe form
p
versus-ip.4.1
First
KR
Step:
Ordinary
Logic
Programs
We
begin definingour approachby
choosingthefundamen-tal
KR
forrules to be: declarative Ordinary Logic Programs (OLP),withthewell-founded semantics(WFS)
[23], inhiallyexpressivelyrestricted to the predicate-acycliccase (defined
below). (Henceforth,
we
will leave "declarative" implicit.)This is a "pure-belief"
KR,
i.e., it lacks proceduralattach-ments.
Each
ruleinanOLP
has the form:Ao
<-Ai
/\ ...h
Am
/\~^m+l
A
...A ~An.
Here,
n
>
m
>
0,and each A,isa logicalatom.Aq
iscalledthe
head
(i.e., consequent) ofthe rule; the rest iscalled thebody
(i.e., antecedent) oftherule. Ifthebody
isempty, the<—
may
beomitted.A
groundrulewithempty body
iscalledafact.
~
stands forthe negation-as-failureoperatorsymbol,and isread in English as "fail". Intuitively,
~p
means
thatp
isnot believed to be true, i.e., thatp's truth value is either
false or
unknown.
E.g.,thefirstrulein
Example
2might bewrittenas:order
Modi
ficationNotice{'?Order,day
sli) <—pre
ferredCustomerO
f
{?Buyer
,ISeller)A
purchaseOrderClOrder,
?Buyer,
?Seller).
Here, the prefix"?"indicates alogical variable.
Ordinary LP'shave beenwell-studied,and havea large
lit-erature(reviewed,forexample,in [I]). Forseveralbroadbut
restrictedexpressivecases, their(declarative)semanticsis
un-controversial: e.g.,forthepredicate-acyclic,stratified,locally
stratified, and
weakly
stratifiedcases; theseform a series ofincreasingexpressivegenerality. However,
OLP's
haveprob-lematic semantics for the unrestricted case, due essentially
totheinteraction ofrecursionwith negation-as-failure.
"Re-cursion" here
means
thatthere is acyclic(path ofsyntactic)dependency
among
thepredicates(or,more
generally,among
theground atoms) throughrules.
More
precisely,alogicpro-gram
S's predicatedependency graph
PDGs
is defined asfollows.
The
vertices ofthegraph are thepredicates thatap-pearin S. {p,q) is a(directed) edgein
PDGs
iffthere isarule rin
£
withp
in its head and q in its body."Predicate-acyclic"
means
thatthere areno
cyclesinthepredicatedepen-dencygraph. "Stratified" (initsvariousflavors)
means
cyclesofarestrictedkindareallowed.
The
well-founded semanticsisprobablythecurrentlymost popular semantics for the unrestricted case, and is ourfa-vorite. With
WFS,
the unrestrictedcase alwayshas a singleset ofconclusions, and istractable under
commonly-met
re-strictions(e.g.,
VBD
definedbelow).Our
approach for an initial practically-oriented LP-basedbusiness rules
KR
is, however, to keep to expressivelyre-strictedcasesthathaveuncontroversial (i.e.,consensusinthe
predicate-acyclic.
Compared
to these uncontroversial cases, theunre-strictedcase(e.g.,with
WFS)
ismore complex
computation-ally and, perhaps even
more
importantly, ismore
difficult intermsofsoftware engineering, lireq uires
more
complicatedalgorithms andisnot widelydeployed. Thepredicate-acyclic
expressive restnction can be checkedsyntacticallywith a
rel-atively simple algorithm and with relatively low
computa-tional cost.
An
OLP
(withWFS)
consistsofasetofpremiserules,andentails asetof(primitive)conclusions. Ina predicate-acyclic
OLP,
each conclusion has the formofa ground atom.Intu-itively,eachconclusion
atom
isbelievedtobetrue,andeveryother(i.e.,non-conclusion)ground
atom
isnotbelievedtobetrue(recall
~
above).Next,
we
discuss the advantages ofOLP's
(withWFS).
(.\dv 1):
OLP
has a fully declarative semantics that isuse-ful and well-understood theoretically.
(Adv
2):OLP
in-cludes negation-as-failure and thus supports basic logical
non-monotonicity.
(Adv
3):OLP
has considerableexpres-sivepower,yet isrelativelysimple and isnotoverkill
expres-sively.
(Adv
4):OLP,
unlikefirst-order-logic/KIF,is compu-tationally tractable in thefollowing sense.Under
commonly
met
expressive restrictions, e.g.,VBD,
inferencing—
i.e.,rule-setexecution
—
inOLP
can becomputed
in worst-casepolynomial-time. Here,
we
say that anLP
is ''VBD"when
either (a) it is ground, or (b) it has no logical fijnctions of
non-/^ero arity (a.k.a. the Daialog restriction^) and it has a
bounded
number
oflogical variables appearing ineach rule.By
contrast, classical logic, e.g., first-order logic—
and thusKIF,isco-NP-hard underthe
VBD
restriction.(Adv
5):We
observepredicate-acyclic
OLP's
semantics is widely sharedamong
many
commercially important rule-basedsystemsasan expressive subset oftheir behavior. Prolog is the most
obviousfamilyof suchsystems. Relationaldatabases are
an-other such family;
many
SQL
viewdefinitions(andrelationalalgebra operations) are in effect
OLP
rules. 0PS5-heritageproduction rule systems are less closely related because of
their extensive use of procedural attachments, but insofar
as they
commonly
do pure-belief predicate-acyclicinferenc-ing, their semantics is closely related to forward-directed
OLP's. Event-condition-actionrules are
somewhat
similarinthis regard to asimple form ofproduction rules. Other
sys-tems sharingthe semantics include
many
expert/knowledge-based systems and intelligent agent building tools;
many
ofthese implement forward-directed predicate-acyclic OLP's.
Predicate-acyclic
OLP
semantics thusreflectsaconsensusintherulerepresentation
community
thatgoesbeyond
the logicprogramming
community.(Adv
6); Predicate-acyclicOLP's
are, in effect,widelyimplemented
and deployed,includinginProlog'sand
SQL
relationaldatabases,but alsobeyond
them."It isusually straightforwardtorepresentationally refomiulatea
rule-setsoas toreplacea logical flinction/havingarityfc
>
byapredicate /phaving antyfc-I- 1,where inUiitivelythe(fe -|- l)""
argument correspondstothe resultofapplyingtheflinction.
(Adv
7): There isa largepopulation ofdevelopers (not justresearchers)
who
are familiarwiththem.4.2
KR
Extension
toCourteous
Logic
Programs
Courteous LP's
(CLP)
expressively extends Ordinary LP's(with
WFS)
by adding the capability to convenientlyex-pressprioritized conflicthandling,whilemaintaining
compu-tational tractability (e.g., under the
VBD
restriction).CLP
is a previous
KR
[10]which
we
have here furtherexpres-sively generalized, notablyto handlepairw'isemutual exclu-sionconflicts, ratherthansimply conflictsofthe form
p
ver-sus->p. (Here,->standsfor classicalnegation. Intuitively,
-p
means
p
isbelievedtobedefinitelyfalse.)CLP
can be tractablycompiled
toOLP.
Indeed,we
have implemented sucha courteouscompiler[II] [13] [12].
The
compilerenablesmodularityinsoftwareengineeringandeasesimplementationand deployment: theCourteous
LP
ex-pressive capability canbeadded modularlytoanOrdinary
LP
ruleengine/system simply by addinga pre-processor.
Com-pilation's computational complexity iscubic, worst-case, but
oftenisclosertolinear.
Inthispaper,
we
donothave spacetogivefulldetailsaboutthegeneralized
CLP
formalismoritscourteouscompiler.In-stead,here
we
willgivean overviewand
some
examples. Fordetails,see [12] andtheforthcoming extendedversionofthis
paper.
CLP
handles conflictsbetween
rules usingpartially-ordered prioritization information that is naturally available
basedonrelative specificity,recency,andauthority.Rulesare
subject to override by higher-priority conflictingrules. For
example,
some
rulesmay
be overriddenby
otherrules thatarespecial-caseexceptions,more-recentupdates, orfrom
higher-authoritysources.
Courteous LP's facilitatespecifyingsetsofrulesby
merg-ing, updating and accumulating, inastylecloser(than
Ordi-nary LP'sorthanclassicallogic/KIF)tonaturallanguage
de-scriptions.
The
expressive extensionprovidedbyCLP
isthusvaluable especially because it greatly facilitates incremental
specification,byoften eliminating theneedtoexplicitly
mod-ifypreviousrules
when
updatingormerging. Intermsoftherulerepresentationrequirements
we
gaveinsection3, thisen-ables significantlygreatermodularity,locality,easeof
modi-fication.expressiveconvenience, and conceptualnaturalness.
InCLP,prioritiesarerepresented via afactcomparingrule labels: overrides{rulel,rule2)
means
thatrulelhashigherpriority than rule2. Ifrulel and rule2 conflict,then rulel
will
win
theconflict.Syntactically, a
CLP
rule differs from anOLP
rule intwo
ways. First, it
may
have an optional rule label, used as ahandle forspecifyingprioritization. Second, eachruleliteral
may
beclassically negated. Syntactically,OLP
is simply aspecialca seofCLP.
An
OLP
rulelacks alabeland doesnotA
CLP
rulehasthe fomi:{lab)
Lo
<- LiA
...A
Lm
A
~Lm+i
A
...A
~L„.
Here,
n
>
m
>
0, and each I, isaclassical literal.A
clas-sical literal is a Ibniiula ofthe t'onn -4 or -i.4, where .4 is
an atom. ->stands for the classical negation operator
sym-bol, and is read in English as "not", lab isthe rule's label.
The
labelisoptional. Ifomitted, the label issaid tobe empty.The
label isnotrequiredtobeuniquewithinthe scope oftheoverall logic program; i.e.,
two
rulesmay
have thesame
la-bel.The
label istreatedasa0-ary functionsymbol.The
labelis preserved during instantiation; all the groundinstances of
the rule above have label lab. overrides and the labels are treated as partofthelanguageofthelogicprogram,similarly
toother predicateandfunctionsymbols appearinginthe logic
program.
Semantically, a
CLP
entailsasetof(primitive)conclusionseach of which is a ground classical literal. Classical
nega-tionisenforced:
p
and -^p areneverboth concluded, forany(classicalliteral)p. Thiscan be viewedas theenforcingof an
implicitmutualexclusionbetween
p
and -ip.In thenewlygeneralized versionof CLP,the
CLP
alsoop-tionallyincludes aset ofpairwise mutual exclusion (mutex)
statements,along with therules.
These
mutex
's specify thescope ofconflict.
An
unconditionalmutex
has thesyntactic
form-±
t- LiA
L2.where
each Lj isa classical literal. Semantically, eachsuch mutualexclusion specifiedbyamutex
isenforced: Li andL2
arenever both concluded (forany instantiation). These
mu-tex's are particularlyuseful forspecifyingthatatmost oneof asetofalternativesistobepermitted. E.g.,in
Example
1,itisstraightforwardtospecify via a
mutex
thattherefundpercent-age mustbeatmost one ofthevalues
{90%
,100%}.
E.g., inExample
2, itisstraightforwardtospecifyvia 3mutex
'sthatthe leadtime must beat
most
one ofthevalues {2 days, 14days, 30 days}. E.g., in
Example
3, it is straightforwardtospecify via 3mutex'sthatthediscountpercentagemust beat
most oneof the values
{0%, 5%,
10%}.Itisexpressively
more
convenientsometimestouseamore
general form of mutex: a conditionalmutex, which has the
syntactic form:
1
^
Li
A
L2
I
(?y
7^?Z).
where
TV
and?Z
are logical variables that appearrespec-tivelyin
Li
and ^2- E.g.,±
<—giveDiscount[1Cust,
lY
Percent)
A
giveDiscount{1Cust,
?Z
Percent)
I
(lY Percent ^?ZPercent).
This conditional
mutex
enables oneto specify with a singlemute.x statement(ratherthan withthreeor
more
unconditionalmutex's) that for a given customer
ICust
theremust
be atmost onevalueconcludedforthediscount percentage.
The
enforcement ofclassical negation can be viewedas a setoiimplicit unconditional mutex's,one foreach predicateQ,
thateachhavetheform1
<-Q(?X1,
...,
IXni)
A ^g(?Xl,
...,
?Xm).
where
Q'sarityism.
Thisiscalled aclassicalmutex.Example
4(Ordering
Lead Time,
inCLP)
Example
2 can be straightforwardly represented inCLP
asfollows:
(a)
order
Modi
ficationNotice{?Order, dayslA)
<—
preferredCustomerOf{?
Buyer,
'^Seller)A
purchaseOrder{'!Order,
'?Buyer,
?Seller).(b)
order
Modi
ficationNotice{?Order,
days30)(—
minor
Part{? Order)
A
purchaseOrder{?Order,
?Buyer,
?Seller).(c) or
derModificationNotice{1 Order, days2)
<—
preferredCustomerOfC?
Buyer,?
Seller)A
order
ModificationType{? Order,
reduce)A
orderltemi
sInBacklogilOrder)
A
purchaseOrder{? Order,
1Buyer,
ISeller).overrides{c,a).
±
<—order
Modi
ficationNotice{'?Order,?X)
A
order
ModijicationNotice{10rder, lY)
I
{IX ^lY).
To
represent thisexample
directly as an OrdinaryLP
—
while handlingconflict appropriately in regard to priorities
and guaranteeing consistency
—
requires modifying therules to addextra "interaction"conditions thatprevent
more
than one rule applying to a given purchase order situation.
Moreover, adding a
new
rule requires modifying the otherrules to add additional such interaction conditions. This is
typicalofconflictingrule-sets
and
underscorestheadvantage ofthe prioritized conflict handlingexpressive feature (recallthe discussion of modularity andea se of modification in
section3).
Semantically, the prioritized conflict handling in
CLP
isdefined by a process ofprioritized
argumentation
among
opposing
candidates. Opposition is specifiedby
the set ofmutex's.
Each
rule rwhose body
is satisfied, i.e., which"fires", generates a candidate cfor r's(appropriately instan-tiated)headp. This candidate hasan associatedlabel,which
issimplythat rule r'slabel. Ingeneral, there
may
bemultiplecandidatesforagivenp,i.e.,ateamfor p. Ifandonlyifthere
isan opposing candidate
d
(i.e.,a candidate foranopposingliteralq)thathashigherprioritythan candidatec,then cis
re-futed.
Suppose
thereisanunrefuted candidate for p. Iftherearenounrefuted candidatesforany opposer ofp,then
p
wins,i.e.,
p
isconcluded. However,itmay
bethatthereisanunre-fiitedcandidate foranopposer ofp; in this case,theopposing
unrefuted candidates skeptically defeateachother.
The
con-flictcannot beresolvedbythespecifiedpriority;neither
p
noritsopposerisconcluded.
Another
way
to view thisis as follows.An
opposition-locale is a set of/i
>
2 ground classical literals thatop-pose eachother,suchthatat
most
one ofthoseliterals isopposition-locale, ifthe maximal-priority candidates are all
forthe
same
literal,thenthatliteral wins.The
definition ofCLP
includessome
additional expressiverestrictions,which
we
donothavespaceto detailhere.CLP
always producesa consistentsetofconclusions,en-forcingall themutex's.
CLP
also has several otherattractivewell-beha\iorproperties, including about merging and about
natural belunior ofprioritization; however,
we
do not havespace hereto detail these.
The
courteous compiler in effect represents thepriori-tizedargumentation process in
OLP.
It introducessome
ex-tra"adorning"predicatesto representtheintennediate stages
ofargumentation: candidates, unrefuted candidates,
skepti-cal defeat, etc..
The
compilermakes
it simple to detect anunresolved conflict, e.g., to raise an alarm about it in either
fonvardor
backward
reasoning.From
the tractability ofcourteous compilation, it followsdirectly thatCourteous
LP
inferencingundertheVBD
restric-tion istractable. It hasthesame
worst-case time and space complexity as:OLP
inferencing where thebound
v onthenumber
ofvariablesperrulehasbeen increasedtow-I-2.Notethat
CLP
overlapssyntacticallyandsemanticallywithKIF
forabroadcase.CLP
without negation-as-failure, with-out labels (or ignoring labels), and withoutconflict, issyn-tacticallyarestricted (essentially,clausal)caseof first-order-logic(FOL)/KIF.Semantically,such
CLP
issoundbutincom-plete
when compared
toFOL/KIF,
inthatitsentailedconclu-sions are equivalenttoa (conjunctive)setofgroundliterals.
4.3
XML
Embodiment:
Business
Rules
Markup
Language
Our
approach includes a second aspectbeyond
thefunda-mental
KR.W
eembody
therulerepresentation concretelyasXML
documents.Next,
we
give, forthe firsttime, anXML
embodiment
ofCLP.CalledBusiness Rules
Markup
Language (BRML),
thisXML
embodiment
functions as an interlingua betweenhet-erogeneousrulerepresentations/systems
which
differentcon-tractingagents
may
be employing.BRML
inheritsthedeclar-ativesemanticsofCLP.
BRML
alsois thefirstXML
embodiment
of(declarative)OLP
toour knowledge. SinceCLP
alsoexpressively coversasubsetofKIF, asdescribed above,
BRML
is alsoanXML
embodiment
ofthatsubset ofKIF
—
to our knowledge,thefirst
XML
embodiment
of(any fragmentoO
KIF.Figure I
shows
theCLP
fromExample
4 encoded inBRML.
Only
the first ruleofthatExample
isshown
inde-tail,
"cliteral"
means
"classical literal","fcliteral"
means
arulebody
literal, i.e., a literal formedby
optionallyapplying the negation-as-failure operator outside/in-frontofa
classicalliteral.
In this paper,
we
do not have space to give fullde-tails about the
XML
encoding. For full details, see:(1) the
CommonRules
prototypedownload
package (at<?xml
version="l
.0"?>
<clp>
<erule rulelabel="a">
<head>
<cliteral
predicate=
"orderModi£icationNotice">
<variable name=
"Order"
/><
function name="daysl4
"/>
</cliteral>
</head>
<body>
<and>
<fcliteral
predicate=
"preferredCustomerOf
"><variable name=
"Buyer"/
>
<variable
name="Seller"/>
</f
cliteral>
<fcliteral
predicate= "purchaseOrder"
>
<variable
name="Order"/>
<variable name
="Buyer"/
>
<variable name=
"Seller" />
</fcliteral>
</and>
</body>
</erule>
</clp>
[rest
of
rules
&mutex's
skipped]
Figure 1:
XML,i.
e.,BRML,
forExample
4.http://alphaworks.ibm.com),
which contains theXML
DataType
Definition(DTD)
forBRML,
explanationofit,anda
number
of examples(esp. "orderingleadtime"there);and (2)the forthcomingextended version ofthis paper.
The
current
DTD
isin draftform; updatesto itwillbe postedonthe authors' websites. See [14] for
how
BRML
fits intothelargercontext ofagent
communication
languages, including theFIPA Agent
Communication Language (ACL)
draftstan-dard.
As
compared
totheusual plainASCII
textstyleofembod-iment cf
KIF
or Prolog ormost
programming
languages,the
XML
approach has several advantages. It facilitatesdeveloping/maintaining parsers (via standard
XML
parsingtools), and integrating with
WWW-world
softwareengineer-ing.
XML
is easier to automatically parse, generate, edit,and translate, because there are standard
XML-world
tools forthese tasks.The
hyper-text(i.e., links)aspects ofXML
are alsouseful. For example, a rule set
may
viaXML
havesome
associatedURL's
whichpointtodocuments
describingthat rule set's
knowledge
representation orauthors orappli-cation context.
Or
itmay
haveassociatedURL's
whichpointtotools forprocessing thatruleset, e.g.,toexecuteit, edit it,
analyze it, orvalidate it (syntactically or semantically).
Par-ticularly useful forournearer-term purposes isthatan
asso-ciated
URL
may
point todocuments
describing theseman-tics and algorithms fortranslatorservices orcomponents, as
well as totranslator tools and examples. Representing
comple-ment
domain-specific ontologies(i.e.,vocabularies) availableill
XML.
Many
suchontologiesexistalready,andmany
more
aree.vpected tobedevelopedinthene.\t fewyears,including
in
e-commerce
domains.The
XML
approach also facilitatesintegrationwith Electronic DataInterchange (EDI) andother
e-commerce components
that"talk"XML.
We
have implemented sample translators that go (bidi-rectionally) from the.\ML
interlingua to severalac-tual rule systems as proof of feasibility. These rule
systems include
two
previously e.xistingWFS
OLP
inferencing engines built by others and implemented
in C.
One
is exhaustive forward-direction:Smod-els (version I), by llkka
Niemela
and Patrik Simons,http
://saturn
.hut:.fi/html/st;af
f/ilkka
.html.The
other is backward-direction:XSB,
by
David Warrenel al, htitp:/
/www
.cs
.sunysb
.edu/~sbprolog.
In addition,
we
have implemented a sample translator to athird, predicate-acyclic
WFS
OLP
inferencing enginewe
builtourselvesin Java. Furthermore,
we
haveimplementedasampletranslator toANSI-draft
KIF (ASCII
format).5
Discussion
and
Future
Work
The implementation
of our approachwas
releasedas a freealpha prototype called
CommonRules
on theWeb
in Julyof 1999, al
http
://alphaworks
.ibm.com.
Thispro-totype is a Java library that includesboth the
CLP
and theBRML
aspects of ourapp roach. In particular, it includes acourteous compiler and sample translators between
BRML
andseveral otherrulesystems/languages.
In
summary,we
believeour approachcombining
CLP
andXML
meets thewhole
set of requirementswe
gave insec-tion3betterthan anyprevious approach. Indeed,
we
believeourapproach meetseveryone ofthose requirernentstoa sig-nificantdegree,withoneexception: theability toexpress
pro-ceduralattachments.
The
usefulness ofrules in adeclarativeKR
forrepresent-ingexecutable specificationsofcontractagreementsisbased
largely on their following advantages relative to other
soft-ware specification approaches and
programming
languages.First,rulesareatarelatively highlevel ofabstraction, closer
to
human
understandability, especially by businessdomain
experts
who
are typically non-programmers. Second, rulesare relativelyeasy to
modify
dynamically andby
such non-programmers-In current work,
we
are expressively generalizingfur-ther to Situated Courteous LP's, so as to enable
procedu-ral attachments as well
—
in a semantically cleanmanner
(i.e., declaratively in a particular well-defined sense).
Situ-ated LP's[9] [16] [15],another expressive extensionof
Ordi-nary LP's,
hook
beliefs to drive procedural APIs.Procedu-ral attachments forcondition-testing ("sensing")and
action-performing ("effecting'') are specified as part ofthe
knowl-edgerepresentation: via sensorand effectorlinl<statements.
Eachsensor or effectorlinkassociates a predicate with an
at-tached procedure.'
Incurrentwork,
we
are also expressively generalizingCLP
and
BRML
furtherto relaxexpressiverestrictionssuchasoncyclicity/recursionrestriction,e.g.,tobestratifiedratherthan
predicate-acyclic.
Thereare severalother formalismsforprioritized LP'sthat
havesimilarsyntaxtoCourteous LP's(exceptforlacking
mu-tex's) but different semantics in regard to conflict handling
(see [10] [II] forareview).
A
directionin our currentwork
is toexplore this dimension ofheterogeneity.
None
oftheseotherfonnalismstoour
knowledge
hasas attractive acombi-nationofusefulexpressivepower,software-engineering
mod-ularity,well-behavior(e.g.,consistency,uniquesetof
conclu-sions), tractability,andconceptual simplicity(e.g., in
prioriti-zationbehaviorandmerging). Inparticular,none canexpress
mutex's (besides implicit classical mutex's), and nonehas a
compilertoOLP's.
Thereareother,
more
expressively powerfiilapproachesto prioritizeddefaultreasoningsuchas PrioritizedDefaultLogic[2] andPrioritized Circumscription [19] [18] [7] [8] that es-sentiallycanexpressmutex's, butinthese theprioritized
con-flicthandling imposes computationally intractableoverhead
[6].
Itappearsfairlystraightforwardtoextend our
BRML DTD
in stages soas to express full first-orderlogic and then full
KIF.
A
direction for futurework
is to create aDTD,
maxi-mallycompatibly with
BRML,
thatexpressesfullKIF.In other
work
[21],we
have extended our contract rulerepresentationapproachwith negotiationfeaturesoriented
to-wards automaticconfigurationofauctions, includingto
spec-ify
which
attributes ofa contract are tobe thesubjectofne-gotiationorbidding.
Of
course, thereisyetm
ore todotofiilfillourapproach'spromise, and achieve its ultimate goals. Further issuesfo r
fiiture
work
include:meshing
more
closely with otheras-pects ofcontracts, e.g., transactions, payments, negotiation
and
communication
protocols [5] [20],EDI, and utility/cost-benefit; fleshing out the relationships to a variety ofcom-mercially important rule representations/systems;
represent-ing constraints as in constraint satisfaction
and
ConstraintLogic Programs; and representing delegation as in
secu-rity/authorization policies [17].
An
extended version of this paper will beavail-able as a forthcoming
IBM
Research Report (athttp
://www.
research
.ibra.com).Acknowledgements
Michael Travers(wh ile at
IBM
T.J.Watson
ResearchCen-ter)and
Xiaocheng
Luan
(ofUMBC,
whileatIBM
T.J. Wat-son Research Center), contributed to the currentimplemen-tationofthe
CLP
KR,
BRML,
andtheassociatedtranslators.'Notethat"link" heredoesnotmean inthesenseof an
XML
orMicliaclTravers' contribution
was
especiallytotheXML
em-bodiment.
Miao
Jin(UMBC)
contributedto theXML
DTD.
Daniel Reeves and Michael Wellrnan (ofU. Michigan)
con-tributedtothe fomiulationofthe overallcontextand
motiva-tion lorautomatedcontractlanguages.
Thanks
toanonymous
reviewersforeditingsuggestions.
References
[11 ChittaBaraland Michael Gelfond. Logic
programming
and
knowledge
representation. Journalof
LogicPro-gramming.
19,20:73-148, 1994.[2] GerhardBrewka. Reasoning aboutpriorities in default
logic. In Proceedings ofthe Twelfth National
Confer-ence on Artificial Intelligence (AAAI-94), pages
940-945,
Menlo
Park,CA
/ Cambridge,MA,
1994.AAAl
Press/
MIT
Press.[3]
[4]
[5]
[6]
[7]
W.
F.Cloc ksin andC.S. Mellish.Programming
inPro-log. Springer- Verlag, 1981.
Thomas
Cooper
andNancy
Wogrin. Rule-basedPro-gramming
withOPS5.
Morgan
Kaufmann
Publishers,San Francisco,
CA,
1988.ISBN
0-934613-51
-6.
Asit Dan, D. Dias, T.
Nguyen,
M.
Sachs, H. Shaikh,R. King, andS. Duri.
The
Coyote Project:Framework
forMulti-party
E-Commerce.
InProc. 7thDelosWork-shop on Electronic
Commerce.
Lecture NotesinCom-puterScience. Vol. 1513. Springer- Verlag, 1998.
Georg
Gottlob. Complexity results fornonmonotonic
logics. Journal of Logicand
Computation, 2:397-425,1992.
Benjamin
N.Grosof
Generalizing Prioritization. InProc.
2nd
Intl.Conf
on Principles ofKnowledge
Rep-resentation
and Reasoning
(KR-91), 1991.[8]
Benjamin
N.Grosof
Updatingand
Structure inNon-Monotonic
Theories.PhD
thesis,Computer
ScienceDept.,Stanford University, Oct. 1992.
[9]
Benjamin
N.Grosof
BuildingCommercial
Agents:An
IBM
Research Perspective (InvitedTalk). InProc.2nd
Intl. Conference
and
Exhibition on PracticalApplica-tionsofIntelligentAgents
and
Multi-Agent Technology(PAAM97J,
P.O.Box
137,Blackpool, Lancashire,FY2
9UN,
UK.
[10]
Benjamin
N.Grosof
Prioritized conflicthandling for logicprograms. InJanMaluszynski,editor,LogicPro-gramming:
Proceedings ofthe InternationalSympo-sium (ILPS-97),Ml
T
Press, 1997.[II] Benjamin N.
Grosof
Compiling
Prioritized DefaultRules Into Ordinary Logic Programs.
IBM
ResearchReport
RC
21472.[12] Benjamin N.
Grosof
A
Courteous Compiler from Generalized Courteous Logic ProgramsTo
Ordi-nary Logic Programs (Preliminary Report).
Tech-nical report,
IBM
T.J.Watson
Research Center,http://www.research.ibni.eom/pcople/g/grosof/papers.html,
July 1999. Included in
CommonRules
documentationreleased July 30, 1999 at http://alphaworks.ibm.com .
Revisedversion forthcomingas
IBM
ResearchReport.[13]
Benjamin
N.Grosof
DIPLOMAT:
Compiling Priori-tized Default RulesInto Ordinary Logic Programs, forE-Commerce
Applications(extendedabstractofIntelli-gentSystems Demonstration). InProc.AAAI-99,\^99.
Morgan Kaufmann.
Extendedversion isIBM
Research ReportRC
21473.[14]
Benjamin
N.Grosof
and Yannis Labrou.An
Approach
tousing
XML
andaRule-basedContentLanguage
withan
Agent
Communication
Language. InProc.lJCAl-99Workshop
onAgent
Communication
Languages, 1999.[15]
Benjamin
N. Grosof,David
W.
Levine, and Hoi Y.Chan. Flexible procedural attachments to situate
rea-soningsystems. In U.S. Patent5,778,150(July7. 1998),
Washington,D.C.,
USA
[16]
Benjamin
N. Grosof, DavidW.
Levine, Hoi Y. Chan,Colin P.Parris, and Joshua S. Auerbach. Reusable
Ar-chitecturefor
Embedding
Rule-BasedIntelligenceinIn-formationAgents. InProc.
ACM
Conf. onInformationand Knowledge
Management
(CIKM-95) Workshop
onIntelligentInformationAgents, 1995.
[17] NinghuiLi,JoanFeigenbaum, and
Benjamin
N.Grosof
A
logic-basedknowledge
representation forauthoriza-tion with delegation (extendedabstract). InProc. 12th
Intl.
IEEE
Computer
Security Foundations Workshop,1999. Extended version is
IBM
Research ReportRC
21492.
[18] V. Lifschitz.
Computing
circumscription. InProceed-ingsIntl. Joint
Conf
onAI
(IJCAI-85), 1985.[19] J.McCarthy. Applicationsofcircumscriptionto
formal-izing
commonsense
knowledge. Artificial Intelligence,28:89-116, 1986.
[20] Naftaly H.
Minsky
and Victoria Ungureanu.A
Mech-anism for EstablishingPo licies for Electronic
Com-merce. In Proc. 18th Intl.
Conf
on DistributedCom-putingSystems(ICDCS),
May
1998.[21] Daniel
M.
Reeves,Benjamin
N.Grosof,MichaelW
ell-man, and
Hoi
Y.Chan.Toward
a DeclarativeLanguage
forNegotiatingExecutableContracts. InProc.
AAAI-99
Workshop
onArtificialIntelligence in ElectronicCom-merce
(AIEC-99).[22] Jeffrey D.
UUman
andJenniferWidom.
A
FirstCoursein
Database
Systems. Prentice-Hall, 1997.[23] A.
Van
Gelder, K. Ross,and
J. SchlipfThe
well-founded semantics forgenerallogicprograms. Journal