AICore.AICore Class
Kind of like a facade, giving access to all the other pieces in the system.

Access: Public
Base Classes: Object
  Members Description  
    ruleEngine    
    ruleEngineFacts Potentially, it is a good idea to keep track of the facts, but this is not currently in use -- we're only using shadowfacts, and they work a little differently

 
    ontologyEngine    
    pluginManager    
    clock    
    nlg    
    microphoneDevice    
    AICore    
    StartOntologyEngine We use a CORBA style remoting to connect to a java rmi server which presents an interface to a java instatiation of JessTab (jess + protege), i.e. we instantiate an ontology database and rule engine here

 
    CreateRules There is some strong coupling here b/c if no fact matches the fact the rule asserts, then an exception is thrown. Therefore there needs to be a way of matching rules to plugins, or unasserting rules when the matching plugins aren't there

 
    CreateUserFunctions Create all custom jess-callable functions. Pass in the core so that functions can access everything in it.