JSoarPortStatus - soartech/jsoar GitHub Wiki
this page is outdated
Overview
Currently, Waterjugs, Towers of Hanoi, Eight Puzzle, Blocks World, and Arithmetic examples from the 9.0.0 distribution all succeed in JSoar. That is to say, the full kernel of Soar 9.0.0 is implemented and functioning well. I'm working on a port of the SML layer to allow jsoar to be a drop-in replacement for csoar in any existing Java-based Soar projects.
Details
Here's the status of the porting of various source files in the kernel proper.
- Symbols - done
- Lexer - done
- Parser - done
- Reorderer - done
- Rete - functional
- No code for saving/loading binary rete
- wmem.cpp - done (org.jsoar.kernel.memory.!WorkingMemory, etc)
- tempmem.cpp - done (org.jsoar.kernel.memory.!TemporaryMemory, etc)
- prefmem.cpp - done (org.jsoar.kernel.memory.!PreferenceMemory, etc)
- osupport.cpp - done (org.jsoar.kernel.memory.OSupport)
- recmem.cpp - done (org.jsoar.kernel.memory.!RecognitionMemory)
- decide.cpp - done (org.jsoar.kernel.!Decider)
- io.cpp - done (org.jsoar.kernel.io.!InputOutput)
- decision_manipulation.cpp - done (org.jsoar.kernel.!DecisionManipulation)
- consistency.cpp - done (org.jsoar.kernel.!Consistency)
- exploration.cpp - done (org.jsoar.kernel.!Exploration, etc)
- RHS Functions
- The basic framework is in place as well as a couple of basic functions (write, etc)
- trace.cpp - done (org.jsoar.kernel.tracing.!TraceFormats)
- backtrace.cpp - done (org.jsoar.kernel.learning.!Backtracer)
- callback.cpp - done, but differently (org.jsoar.kernel.events)
- chunk.cpp - done (org.jsoar.kernel.learning.!Chunker)
- init_soar.cpp - Mostly done (decision cycle and initialization)
- print.cpp - started
- production.cpp - Mostly done (Production.java, etc). Porting additional code as needed.
- reinforcement_learning.cpp - done but untested
- explain.cpp - done
Ongoing Synchronization
Soar 9 is a moving target, this table is to help with mapping jSoar revisions to Soar 9 revisions. This information must be assumed to be incomplete. More detailed comments are provided in the commit messages.
jSoar revisions | Soar 9 revisions | Notes |
---|---|---|
302 | 10477 | force-learn |
334 | 10564, 10560, 10557 | Bugzilla bug 1144 |
336 | 10562 | state removal messages |
337 | 10565 | Bugzilla bugs 1144, 1011: marks higher-states changed when GDS removes state so impasses regenerated |
338 | 10567, 10568 | Bugzilla bug 1145 fix, but noticed rhs function actions dont-learn and force-learn unimplemented which are required before tests from csoar can be ported |
352 | 10608 | Bugzilla Bug 517 fix ported to jSoar |
538 | 11036 | Corrected select command |
537 | 10938 | Added clear of id.unknown_level on garbage collected ids. |
584 | 10571, 10572, 10642, 10643 | Bugzilla bug 234, implemented new preference semantics for better/worse filter |
587 | 10935 | Flattened out two sets of cyclical recursive functions, used in kernel garbage collection, that would cause stack overflow with long, deep working memories (such as a "linked list" of identifiers) |
589 | 11001 | Added missing clear of chunk-free problem spaces when goal is removed |