W3C

Part of the Workshop Session Notes

- DRAFT -

Rules Workshop -- Session 2 -- General Requirements

13 May 2005

Attendees

Present
Regrets
Chair
Said Tabet
Scribe
Sandro Hawke

Contents


NIST position; Ed Barkmeyer

<tlrDC> http://www.w3.org/2004/12/rules-ws/paper/61

slide 3: grave risk, unless good expanations to users

(Need to be able to exchange proofs, explanations!)

EdBarkmeyer: we need
... converting units
... resolving structural differences (firstname/lastname, begin/end--being/duration)
... Hard problem -- region containment (includes hard math & politics)

<tlrDC> re political reasoning, "at least three countries" is a rule that gets you into trouble as soon as the domain of reasoning includes South East Asia.

EdBarkmeyer: Lots of aggregation of parts
... * Information Model Rules (Data is King)
... * Business logic and Workflow Rules (includes choreography/process)
... * SWS (formal agent behavior -- what it does, but what about it's supposed to do?)
... * => this requires integration of many kinds of rules
... Operating Rules Environment
... -- external agents
... -- Concept of time
... -- Complex Info Space
... ++ external events need to be a part of the language/system
... ==> Need standard meta-rules language [[ need to know firing rules for rules ]]

IanHorrocks: you started off talking about KR, but then switched to an App Develop Language. Think of the database world ... where not everything ends up in the database language. Should we use Java, etc, for that kind of stuff?

Ed: Bucket called "rules", bucket called "business rules", ... There really are different kinds of rules -- ontology-style (information model rules), but Process/Behavior rules *are* App Programming stuff. Data is King, Processes Management is Queen -- together they are business

YasirBishr: Temporal issues. But Space? Some rules are valid in certain places?

Ed: I hadn't thought of that, but yes.

Waleed: Multiple Languages for Rules? For diff kinds, for diff apps, ... can they interoperate?

Ed: Need to allow for lots of surface syntaxes
... Key issue is capturing underlying semantics
... We have multiple INCOMPATIBLE underyling semantics --- eg two kinds of Negation
... Reference Model, with semantic foundation to provide different bodies ---- some of them will be combinable

ColleenMcClintock: (from ILOG)

ILOG contribution

ColleenMcClintock: Our core is Production Rules
... Every rule type gets turned into a Production Rule

<DanC_DCA> hmm... that's cool... turning declarative in to process rules... is there a general technique?

ColleenMcClintock: Our Requirements: need to exchange rules between apps, within companies, and between partners
... Execution

<DanC_DCA> (lots of nods to the notion of regulators shipping the rules, rather than vendors having to encode them)

ColleenMcClintock: Different RETE engines behave differently
... Expressiveness
... - obviously we want enough to express what our products do
... - Users should NOT be presented with this standard
... - Typed first-order queries; RHS: assert/retract/app-specific-functions
... Usability & Adoptability
... - must be widely implemented
... - translations to/from other languages
... - XML-based format
... Compatibility
... - OMG PRR, JCP JSR-94
... - We hope for compatible & convergent stantds for modeling & exchanging rules
... Core Constructs :: variable bindings, arithmetics, etc.
... Middle Layer -- Execution/Inference
... Top Layer -- App Vocabulary

Bijan: Why W3C for exchange standard? (vs OASIS --- W3C is more expensive -- Fruition is more work -- maybe more quality, but why, if it doesn't fit in)

Colleen: That's what we're here to explore. Find a common foundation if we can.

Bijan: Does RuleML address your exchange problem?

CSMA: Doesn't address how you execute the rules

MarkLinehan: What the scope of the bottom layer languages

CSMA: See Ed's slides, Info Model Rules; then Spec Behavior -- BASED ON WORLD. Way you describe the world -- the description language -- is the same
... Ed's different boxes (eg Deontic), get layered.
... Bottom layers has variables, Conjunction, Disjunction, etc.

Adrian: Ed, agreed we dont want Generals to read traces, but ... how about a verification engine?

Discussion

RaviRaman: You need a proof language, to allow delegation and maintain trust

Ed: Apply structural rules (ilog bottom layer) ... possibly in another engine
... Is the enemy weak in sector X? engine says yes. General asks what about in light of new info....

Adrian: What if the explanation is in English?

MikeUschold: Ed, In OWL you can't do ... something. What was it?

Ed: That was from Evan. If car has feature X, then it must have feature Y. You need to make a subtype to turn a binary relation into a unary one -- circumlocution, conversion artificats

Benjamin: Which layers should we standardize? Assertions. Queries. Proofs. Why standardize on Execution layer? Easier to interoperate data than a procedural version of how an engine works. Descriptions of engines, in terms of available theory. I don't think there is a well-known vocabulary for most of these types of rules. So how to proceed?

Colleen: We're just pointing out the problem. Rete engines produce different results.

Benjamin: then standardize them

Ed: Lowest box is low hanging fruit. RuleML is trying to address some higher stuff, which is the problem.

<DanC_DCA> [Ed's point was more subtle than that, as are many]

AnthonyF: You're talking about complex predicates. We'd like to swap them between different rules engines. Maybe just in Javascript or something.

Ian: You don't want ambiguous rules, but.... EIther make them unambiguous w.r.t. execution OR w.r.t. results. Which one are we interested in? Is it a Programming Languiage or a KR?

<DanC_DCA> (oh good! overlap with MathML folk!)

StanDevitt: In MathML, we used different URIs to see which semantic model was being used by the author. No feasible to make all math engines come up with the same answer, even in standards math.

DavidGoldstein: What is an acceptable W3C standard.

W3C Process. A Means to an End.

<anthonyf> I find it hard to believe that commercial vendors really want to expose and standardise the mechanisms that underpin their rules engines as distinct from rule languages

<timbl> Slide URI?

Questions....

MikeUschold: Why W3C Why Now? What is W3C Scope?

DanC: Yes -- when it looks like it will make an impact on the whole web, and a critical mass of membership says yes. Slam dunk yes.
... Slam dunk no == people working togther dont get a long, not world wide, ...

EvanWallace: Errata & Maint -- wg goes away, then what....?

DanC: If there's a critical mass, they can extend charter or make a new charter. taking a break for a year really makes sense.

Evan: So you need a new group?

DannyW: We do build in some time in for life-after rec, but one person's Errata is another person's critical feature. So getting community moving is important.

PhilArcher: Can you withdraw a Recommendation?

DanC: Yes

BrandN: How do you select the two successful implementations?

DanC: Inheritted from IETF the notion that two impls is enough. With OWL we had ~200 tests, and and made a huge table of implemtnats vs tests

StanDevitt: For life after rec, MathML IG is serving a useful purpose

<DanC_DCA> my talk slides, fyi... http://www.w3.org/2005/Talks/04w3c-process/all.htm

<scribe> Scribe: Sandro Hawke

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.122 (CVS log)
$Date: 2005/05/13 19:35:55 $