Plugging-in custom reasoners and computed predicates

View: New views
2 Messages — Rating Filter:   Alert me  

Plugging-in custom reasoners and computed predicates

by Cameron Ross :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

The PowerLoom manual states that "the specialist architecture is extensible to allow users to plug-in their own reasoners or computed predicates".  Just wondering if there is any documentation on how to plug-in custom reasoners or computed predicates? 

Thanks much,
Cameron.

_______________________________________________
powerloom-forum mailing list
powerloom-forum@...
http://mailman.isi.edu/mailman/listinfo/powerloom-forum

Re: Plugging-in custom reasoners and computed predicates

by Thomas Russ :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Mar 3, 2009, at 5:27 AM, Cameron Ross wrote:

> Hi,
>
> The PowerLoom manual states that "the specialist architecture is  
> extensible to allow users to plug-in their own reasoners or computed  
> predicates".  Just wondering if there is any documentation on how to  
> plug-in custom reasoners or computed predicates?

We never produced any simple method of plug-in reasoners, although  
there is some very rudimentary support through the use of strategies,  
etc.  But that isn't something easy, and we don't have any particular  
documentation prepared for that.  This would be hard for users to  
actually do right now.

Adding computed predicates, on the other hand, can be a fairly  
straightforward thing to do.  It is certainly well within the  
capabilities of most users.  There are three methods that can be used  
to achieve this.

(1)  Write your own specialist or computations in Stella, and use the  
standard Stella loading system to load the files and appropriate  
definitions.

(2)  Write your own specialist function and register them using  
register-specialist-function, either directly or through the PLI  
interface.  There is a short description of these functions in the on-
line PowerLoom manual, but no examples of use.

(3)  Write your own computation function and register it using  
register-computation-function.  This is present in the latest  
versions, but the manual has not been updated to a sufficiently recent  
version to show them.

The main mechanism used by PowerLoom is the ability to trigger the  
running of specialist code to compute the value of PowerLoom  
relations.  The specialist functions provide the greatest flexibility,  
but require more in-depth understanding of the reasoning architecture  
of PowerLoom, since they can do anything they want as long as they  
signal appropriately to the rest of the reasoning machinery.

Computation functions are more specialized, but much easier to write.  
They are also much closer to the surface syntax of relations, since  
they take in a certain number of Stella objects as arguments and  
return a single Stella object as the value.  So they can be a lot  
easier to write.
(Underneath the hood, there is a computation specialist that  
understands how to apply this function to arguments and make use of  
the return value, but that ends up being hidden by the computation  
specialist.)

We have some examples of (1) and (3), but they aren't written up on-
line or in the standard release, but I can easily make them available  
to you.

If this is something you are contemplating, I can see about doing a  
short write-up to go along with the examples in the next few days.  
Let me know.

-Tom.

--
Thomas A. Russ, Ph.D.  Senior Research Scientist             tar@...
USC/Information Sciences Institute               http://www.isi.edu/~tar
4676 Admiralty Way, Marina del Rey, CA 90292              (310) 448-8775



_______________________________________________
powerloom-forum mailing list
powerloom-forum@...
http://mailman.isi.edu/mailman/listinfo/powerloom-forum