!!! Javadoc

Javadocs are available in the [downloadable distributions|Downloads] since version Watney, also in the nightly builds. Extract the distribution zip file and navigate to d3web or KnowWE folder and there, extract the file docs.zip. Open index.html in the web browser of your choice.


!!!Package Structure

d3web defines the general package structure as follows:

{{de.d3web/knowwe.<core/pluginname>.<component>.<module>?.<subpackage>*.<Classname>}}

The core consists of non-optional classes, whereas plugins includes optional classes. A plugin usually spans over multiple components. 

For example, the package structure of the XCL problem-solver:
* de.d3web.xcl: for the basic representation 
* de.d3web.xcl.inference: problem-solver functionality
* de.d3web.xcl.io: problem-solver specific persistence 


!! de.d3web.core


! Knowledge Representation: de.d3web.core.knowledge

All classes of the knowledge representation are included in this package. 
For instance, the definition of solutions and questions.

* de.d3web.core.knowledge: \\
  IDObject, KnowledgeBase, Value, InfoStore

* de.d3web.core.knowledge.__terminology__: \\
 Question (with sub-classes), QContainer, Choice, Solution
  
* de.d3web.core.knowledge.__terminology.info__: \\
  Property, BasicProperties, MMInfo

* de.d3web.core.knowledge.__manage__: \\
  KnowledgeBaseUtils, RuleFactory


! Knowledge Base Persistence: de.d3web.core.io

* de.d3web.core.io: \\
  XML/Jar persistence to read/write knowledge bases.
  Basic definitions of KnowledgeReaders, KnowledgeWriters, PersistenceManager
  
* de.d3web.core.io.__fragments__: \\
  FragmentHandler and for all plugins the corresponding fragment handlers


! Inference: de.d3web.core.inference

* de.d3web.core.inference: \\  
  PSMethod, PropagationManager, MethodKind, KnowledgeSlice, Action, Rule, Interface Condition

* de.d3web.core.inference.__condition__: \\  
  all AbstractCondition's implementing the interface Condition


! Session: de.d3web.core.session

All classes that manage the interactive problem-solving sessions by running cases.
Administration of flyweight terminology objects and case management.

* de.d3web.core.session: \\
  Session, DefaultSession, Value (with sub-classes), Protocol, SessionManager, InterviewManager 
    
* de.d3web.core.session.__blackboard__: \\  
   Blackboard, Fact, FactStorage, FactAggregation


! Persistent Session Representation: de.d3web.core.records

All classes for the case representation.

* de.d3web.core.records: \\
  SessionConversionFactory, SessionRepository, SessionRecord 


! Session Persistence: de.d3web.core.records.io

* de.d3web.core.records.io: \\
  XML persistence for reading/writing records

%%tags
Documentation API
%