-->

System Iterator

The SystemIterator is a new part of the FRDCSA project that is a continuation of the work on the CSA component of the FRDCSA. We agentified SystemRecommender in order to provide an index to FLOSSMole (allowing the instance to run in memory rather than having to reissue the large query each time it is loaded). This provides an online list of most wanted systems, the details of which are iterated over and sent to the RADAR system, which has been given a yes (-y) option to proceed noninteractively and guess the values where they are ambiguous. RADAR downloads the code to an external codebases and forwards its info to Packager, which is also undergoing additions to allow for a noninteractive mode. Packager then uploads the resulting packages to a valid /etc/apt/sources.list entry:

deb http://services.frdcsa.org/debian unstable/

This repository was recently reconstructed given the find of several packages that were thought lost to a hardware failure.

The SystemIterator is using some additional knowledge enrichment tools, such as Folksonomy, to add additional assertions to the Comprehensive Software Ontology (CSO). We are in the process of formalizing the text contents of the CSO into a format that can be reasoned with using Flora-2.

Currently, we are in the process of packaging XSB prolog and Flora-2 for Debian GNU+Linux, and extending the Perl XSB Interface (http://search.cpan.org/~salva/Language-XSB-0.14/XSB.pm) to support Flora-2. We are reworking the FreeKBS2 system into a new version, FreeKBS3, which supports HiLog, with the goal of adding Flora-2 and XSB as supported reasoners. These systems are used within the ProjectHalo and Aura projects as a backend for Natural Language Understanding capabilities (such as the Linguist system). NLU inference is our main use case. Our goal is to provide open source equivalents of these NLU tools, as unfortunately to our knowledge they are not all being released open source (yet). Currently most new knowledge stores and reasoners within the FRDCSA project have been written in the Flora-2 language, given it is comparable to a "Rosetta Stone" of logic programming, databases, ontologies and defeasible reasoning.

While it is not actually higher-order, it provides the ability to query over predicates (in a way that is still first order). So, to support actual higher-order inference, we are attempting to mate some of the recent TPTPTHF higher-order provers with non-HiLog fragments of Flora-2.

There is a lot of work that remains. What is needed are more examples of code and ontologies available from Flora-2 in order to help expedite its use within ontology construction. Jess Balint has been working on a database interface for persistence.

I have been planning on contacting the development team, once I organize all my questions. It is not always obvious to me what a standard or normal representation should look like, and it seems at times that it is possible to express things in multiple different ways, overdetermining them, such that it might be easier to introduce contradictions into the ontology. But these are minor considerations given it's proven performance as a knowledge representation and reasoning system within the FRDCSA system. What I was trying to achieve with Perl data structures similar to JSON objects is much more easily expressed in F-logic.

There are other natural language processing tools within the FRDCSA such as the affordance system which takes the output of the KNext dataset run on the BNC to provide a list of properties that apply to a given object, and in a way that is accessible from Emacs. The goal here is to expand the workhorse system to annotate KNext tokens with entities and WSD in order to provide a less ambiguous interface and prevent incorrect properties from being applied. Ultimately, it should be possible to inspect objects interactively from Emacs, using the Emacs FreeKBS2 interface, for rapidly manipulating and acting on objects, in a manner similar to how there are context dependent drop downs in the Windows GUI when you right mouse button click on certain items. The salient affordances given the computational context will be provided, with 'completing-read' to provide the ability to rapidly act on textual objects. This will become part of the NLU system.

The current work on the NLU system, applicable to SystemIterator, is intended to support the AutoPackager system. We are developing annotation of textual items, in combination with recently completed work on KBFS, to allow us to assert arbitrary FreeKBS2 assertions regarding files and textual objects, and relate them. So for instance, different textual formatting would produce NLU annotations which are then fed to an assortment of ML systems in order to develop learners which can successfully tag properties in other files and textual objects. There was work I read on using solvers for Markov Decision Processes, which will be integrated as part of NLU/Thinker/Sayer in order to direct the application of various ML techniques on textual objects in order to highlight them with appropriate annotations.

The crazy purpose of all of this is to develop a set of observations which link input orig.tar.gz Debian package upstream tarballs from existing packages with the /debian directory contents in order to provide a set of learned responses in a BDI agent for automatically acting and packaging a system, although this is obviously a tenuous proposition at this point. But it engages enough technologies in unison so as to be both interesting and rewarding, and work done in this vein will surely lead to additional exaptive benefits.