AIR Developers Meeting

1 Mar 2010


Jie Bao, Ian Jacobi, Lalana Kagal, Ankesh Khandelwal, Oshani Seneviratne, Fuming Shih, Mike Speciner, Sam Wang
Lalana Kagal
Fuming Shih


[2:28pm] lkagal: ver 2.5 uses RuleSet and Rule, reasoner doesn't support that yet

[2:28pm] oshani joined the chat room.

[2:28pm] lkagal: reasoner still uses Policy and BeliefRule

[2:28pm] fuming: air is the policy language defined policy as rule sets

[2:30pm] fuming: action is described in RuleContainer

[2:31pm] lkagal: if should not be a action, add else to action subproperty

[2:32pm] lkagal: Here is Ankesh's presentation: http://dig.csail.mit.edu/2010/Talks/0301-AIR/AIR-overview-ak.pdf

[2:36pm] fuming: no nested else in the AIR

[2:36pm] Pipian_: Just checked in a fix to use RuleSet in addition to Policy. Also, just looked and saw that as the reasoner just looks at the "air:rule" properties attached to the policy, there's no problem switching to Rule.

[2:39pm] lkagal: Sam: overloading if to do both pattern matching and variable binding

[2:39pm] jnpato joined the chat room.

[2:41pm] lkagal: There are nested else in AIR - but inadvertent errors caused wrong punctuation can be avoided by using the full-form (else - rule - else)

[2:48pm] lkagal: cannot have else for an if when you use universal quantification for variables being bound

[2:50pm] fuming: " variable binding and pattern matching " usage is now discussed

[2:53pm] lkagal: Ian: when patterns that do variable binding do not match, their else acts like it was an existential binding, if they match, their then acts like it was a universal (or as declared) binding.

[3:03pm] fuming: Mike: What's the thing that user want to express?

[3:07pm] fuming: @forall scoping , a problem?

[3:13pm] lkagal: @for* versus air:variable. Pros and cons for each.

[3:17pm] lkagal: sam: force reasoner to ensure that global variables are declared just before policy/rule

[3:17pm] lkagal: jie: no need to discuss this, most policy developers will use some interface to generate air policies and not directly use the language

[3:18pm] lkagal: +1 for Jie

[3:19pm] fuming: + 1 for jie, interface tool for AIR is a good topic. We should include that to see AIR usage in non-logic programming user's perspective

[3:31pm] fuming: talking about belief rule, ellipse rule, hidden rule

[3:36pm] lkagal: Thanks Ankesh.

[3:47pm] Pipian_ was promoted to operator by Pipian.

[3:52pm] jnpato left the chat room. (Ping timeout: 240 seconds)

[4:00pm] lkagal: rete implemented as alpha and beta networks. Alpha networks for pattern matching and beta networks for production (assertions). Beta not req for all rete engines

[4:01pm] fuming: Ian: explaining Rete-based reasoner

[4:01pm] fuming: AIR reasoner is built upon rete-based reasoner

[4:02pm] fuming: alpha network and Beta network in Rete-based reasoner

[4:03pm] fuming: Beta-network, gives us the production rule that gives us the new rules

[4:03pm] fuming: LK: which happens first , alpha or beta?

[4:08pm] lkagal: in AIR, no need to generate alpha network, air uses indexes

[4:09pm] lkagal: topological sort of patterns coming in

[4:12pm] lkagal: Builtins processing: when the beta network comes across a builtin in a pattern, it ignores the alpha memory and executes the builtin.

[4:13pm] lkagal: The builtin results do not have to explicitly stated in the data (e.g. ( 1 2 ) math:sum 3) and is executed and asserted by beta network

[4:14pm] lkagal: TMS associated with the reasoner

[4:14pm] fuming: maintains a separate TMS system to explain how we get to the result, keeps track of the reasoning path.

[4:16pm] lkagal: Anything imported is stated to be a premise (facts or rules).

[4:17pm] lkagal: For anything that is asserted, they have an additional justification that says what caused them to be asserted.

[4:18pm] lkagal: Everytime beta network asserts something, it tells the TMS to assert something and gives reason.

[4:20pm] lkagal: TMS is completely separate from rete engine. Rete only for pattern matching and variable bindings. When fact is asserted that fact is pushed into tms.

[4:21pm] lkagal: do some static checking while compiling into rete networks

[4:23pm] lkagal: tms in policyrunner.py and tms.py

[4:24pm] lkagal: rete is in rete.py

[4:25pm] fuming: Can we have? we should have a slide of this explanation on the whiteboard of AIR reasoner, and some mapping of explanation to the existing codebase of AIR

[4:27pm] Pipian_ left the chat room. (Quit: Pipian_)

[4:30pm] lkagal: Could we add a non-justification generation mode for the air reasoner

[4:31pm] lkagal: running policyrunner.py

[4:32pm] lkagal: python policyrunner test policyURI data1URI data2URI data3URI ...

[4:33pm] lkagal: other option is to edit policyrunner.py and add a test and run

[4:34pm] fuming: is there a example of running AIR-reasoner from commandline?

[4:34pm] lkagal: python policyrunner.py <testname>

[4:36pm] Pipian_ joined the chat room.

[4:36pm] ankesh joined the chat room.

[4:36pm] lkagal: AIR example on mrburns: http://mr-burns.w3.org/cgi-bin/air_2_0.py?logFile=http://dig.csail.mit.edu/2010/Papers/www-ws/examples/request.n3&logFile=http://dig.csail.mit.edu/2010/Papers/www-ws/examples/pandora-signed-stat.n3&logFile=http://dig.csail.mit.edu/2010/Papers/www-ws/examples/johnsmith-signed-stat.n3&rulesFile=http://dig.csail.mit.edu/2010/Papers/www-ws/examples/bigcity-policy.n3

[4:37pm] lkagal: Use this link in FF after installing tabulator

[4:38pm] samuelsw: http://mr-burns.w3.org/cgi-bin/air_2_0.py?logFile=http://dig.csail.mit.edu/2010/DHS-fusion/MD/tests/MauryReplyToMia.n3&rulesFile=http://dig.csail.mit.edu/2010/DHS-fusion/MD/rules/MdCodeComLaw_12_15_01_11.n3

[4:39pm] ankesh: http://mr-burns.w3.org/cgi-bin/air_2_0.py?logFile=http://tw.rpi.edu/proj/tami/Special:ExportRDF%3Fpages=AIR_Demo_Data%26recursive=1%26postform=1&rulesFile=http%3A//tw.rpi.edu/proj/tami/Special%3ASimpleExport%3Fpage%3DTutorial_Policy_2_v2%26landmark%3Dn3&

[4:43pm] lkagal: This should work: http://mr-burns.w3.org/cgi-bin/air_2_0.py?logFile=http://dig.csail.mit.edu/2010/Papers/www-ws/examples/request-bigcity.n3&logFile=http://dig.csail.mit.edu/2010/Papers/www-ws/examples/bigpharma-signed-stat2.n3&rulesFile=http://dig.csail.mit.edu/2010/Papers/www-ws/examples/bigcity-policy.n3

[4:48pm] baojie joined the chat room.

[4:49pm] oshani: fuming, use http://dig.csail.mit.edu/2007/tab/release/unofficial/tab-02012010.xpi

[4:49pm] baojie left the chat room. (Remote host closed the connection)

[4:50pm] samuelsw: python ./policyrunner.py test http://dig.csail.mit.edu/2010/DHS-fusion/MD/rules/MdCodeComLaw_12_15_01_11.n3 http://dig.csail.mit.edu/2010/DHS-fusion/MD/tests/MauryReplyToMia.n3

[4:50pm] samuelsw: should produce meaningful command line otuput

[4:50pm] baojie joined the chat room.

[4:51pm] oshani: http://dig.csail.mit.edu/2008/yes-thesis/

[4:54pm] oshani: found it - http://people.csail.mit.edu/syosi/meng-thesis/thesis.pdf

[4:55pm] lkagal: svn repo: https://svn.csail.mit.edu/dig/

[5:26pm] baojie left the chat room. (Remote host closed the connection)

[5:32pm] samuelsw left the chat room. (Quit: samuelsw)

[5:32pm] fuming left the chat room. (Quit: fuming)

[5:32pm] oshani left the chat room. (Quit: oshani)

[5:33pm] oshani joined the chat room.

[5:33pm] jnpato joined the chat room.

[5:36pm] fuming joined the chat room.

[5:36pm] fuming left the chat room. (Client Quit)

[5:37pm] samuelsw joined the chat room.

[5:37pm] samuelsw left the chat room. (Client Quit)

[5:38pm] You left the chat by being disconnected from the server.

[5:40pm] You rejoined the room.

[5:41pm] lkagal: Ian: app for "why am I happy/not happy in this city"

[5:41pm] lkagal: Ankesh: app for "why was this wine recommended to me"

[5:41pm] lkagal: Jie: integrity constraints

[5:42pm] lkagal: Ian: app for calorie counting, why can/cannot I eat this today ?

[5:45pm] jnpato left the chat room. (Ping timeout: 240 seconds)

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.128 (CVS log)
$Date: 2010-03-05 16:09:58 -0500 (Fri, 05 Mar 2010) $