W3C

- DRAFT -

RIF-PRD telecon Oct 7

07 Oct 2008

Agenda

See also: IRC log

Attendees

Present
csma, Paul_Vincent, ChanghaiKe, Gary, hassan
Regrets
Chair
Christian de Sainte Marie
Scribe
PaulVincent

Contents


 

scibenick PaulVincent

<scribe> scribenick: PaulVincent

<scribe> scribe: PaulVincent

<Hassan> mute me

<csma> next item

CSMA: check if dayofweek and timeofday is OK: any complaints

CK: OK if we keep to 1hr

<csma> next item

CSMA: keep DOWeek and TODay

CK: is this bind - need strawman

<ChanghaiKe> do is left as it is, we use bind instead to bind new variable to a new frame

<scribe> ACTION: GH to propose bind [recorded in http://www.w3.org/2008/10/07-rif-prd-minutes.html#action01]

<Gary> did anybody get a chance to read http://www.w3.org/2005/rules/wiki/PRD#Operational_semantics_of_actions

CSMA: other actions include modify, execute, ...

HAK: assign is finer grained than assert (cf Java)
... remove and add object in assert/retract is not atomic

GH: assert can also be at the slot level

<csma> (bind ?x object(attr->?x) do(assign ?x value))

<csma> do(assert(object(attr->Value)))

<Gary> clarification - assert is only at the slot level

<ChanghaiKe> what does this mean? do we assert a whole object?

<Gary> - or you can assert a predicate

<csma> Assert(?o[attr->value])

<Gary> all - please look at http://www.w3.org/2005/rules/wiki/PRD#Operational_semantics_of_actions

<csma> Forall ?x (?x#FooBor) If condition then assert(?x[attr->value)

HAK: this is nonstandard notation

<csma> Assert(frame|atom)

<csma> New Var Class

CSMA: proposed to use new for new objects and assert for updates

GH: see PRD spec draft http://www.w3.org/2005/rules/wiki/PRD#Operational_semantics_of_actions

CSMA: aside: looking at doing same for conditions

GH: trying to combine operational and model theory

HAK: this has not been done before so id of concern
... overloading of assert is dangerous
... PR engines assert objects not predicates

CSMA: assert is for facts (as is retract) in PR engines...

CK: difference between propositional logic vs object logic
... assert into WM is the whole object - but this could be a bunch of triples in a single transaction

<Hassan> yes CK - this is what I meant by granularity

GH: we don't have any semantics for object based behavior
... ... need to reuse frames etc from core

Main issue if translating OUT OF PRD ie recombining frames etc into object operations

CSMA: issue is one of serialization to map from objects to frames

HAK: issue is we need to be clear: choice is to assert triples that correspond to obj fields

CSMA: Example: JRules asserts an object with field values: serialized into XML means all values?

HAK: ... yes this is a series of asserts

<ChanghaiKe> JRules asserts an object at once

CSMA: Also need to avoid ambiguity

HAK: why no remove

GH: ... this is retract

CSMA: which was an issue for MK

<Hassan> can you post it?

GH: See example 2.11 in http://www.w3.org/2005/rules/wiki/PRD

<scribe> ACTION: CK to create an assert and assign object from JRules [recorded in http://www.w3.org/2008/10/07-rif-prd-minutes.html#action02]

CSMA: needs to be atomic or not?

HAK: issue is of event in between the assert operations - atomic means its locked for the transaction...

+1 to HAK's concern

<ChanghaiKe> +1 to HAK concern

CSMA: Is there a semantic issue here ie can an engine have an interrupt in an retract-assert vs modify

<ChanghaiKe> I can give an example

GH: does this apply for fine-grain assert/retract

CK: example: truth maintenance system

<ChanghaiKe> if temp > 120 then maintain alarm on network element

CK: if I remove temp then TMS would deduce larm not to be maintained

Of course this is the engine semantics, not the language ...

CSMA: remove value not object - is this still the same?

CK: ... but I can't remove the sensor (ie a.temp)

GH: retract ([predicate|frame|object])

<csma> ?x: Device if ?x[value > 120] then assert(?x[alarm->True])

Do we need to prefix/postfix assert/retract ops with a marker eg external(object operation)

<Hassan> +1 with CK

<csma> ?x: Device if ?x[value > 240] and ?x[alarm->True] then Modify(?x[alarm->critical]

Note to CSMA: we are 5mins to end of call...

CK: paper exists that explains differences ?

<scribe> ACTION: CK to find appropriate paper reference or example [recorded in http://www.w3.org/2008/10/07-rif-prd-minutes.html#action03]

<ChanghaiKe> http://blog.athico.com/2008/02/shadow-facts-what-you-always-wanted-to.html

Summary of Action Items

[NEW] ACTION: CK to create an assert and assign object from JRules [recorded in http://www.w3.org/2008/10/07-rif-prd-minutes.html#action02]
[NEW] ACTION: CK to find appropriate paper reference or example [recorded in http://www.w3.org/2008/10/07-rif-prd-minutes.html#action03]
[NEW] ACTION: GH to propose bind [recorded in http://www.w3.org/2008/10/07-rif-prd-minutes.html#action01]
 
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.133 (CVS log)
$Date: 2008/10/07 18:03:07 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.133  of Date: 2008/01/18 18:48:51  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 1.00)

Succeeded: s/2.1.1/2.11/
Found ScribeNick: PaulVincent
Found Scribe: PaulVincent
Inferring ScribeNick: PaulVincent

WARNING: No "Topic:" lines found.

Default Present: csma, Paul_Vincent, ChanghaiKe, Gary, hassan
Present: csma Paul_Vincent ChanghaiKe Gary hassan
Agenda: http://lists.w3.org/Archives/Public/public-rif-wg/2008Oct/0005.html
Got date from IRC log name: 07 Oct 2008
Guessing minutes URL: http://www.w3.org/2008/10/07-rif-prd-minutes.html
People with action items: ck gh

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.


WARNING: No "Topic: ..." lines found!  
Resulting HTML may have an empty (invalid) <ol>...</ol>.

Explanation: "Topic: ..." lines are used to indicate the start of 
new discussion topics or agenda items, such as:
<dbooth> Topic: Review of Amy's report


[End of scribe.perl diagnostic output]