!!! Main products

* __d3web-Core__: Reasoning engine and persistence components for problem-solving knowledge including decision trees, (heuristic) rules, set-covering models and diagnostic flowcharts.
* __KnowWE__ (Knowledge Wiki Environment): A semantic wiki building on JSPWiki. Problem-solving knowledge can be authored and executed through the wiki interface. Developed knowledge bases can be exported to be used in OEM or embedded reasoners. Additionally, knowledge exchange via OWL ontologies is provided.

!!! Applications

* __[KnowledgeBaseBook]__: Generates a DocBook XML file of an executable d3web knowledge base, i.e., the knowledge base book. The DocBook XML can be used for further transformations. The application produces a PDF printout.
* __[Testing-App]__: Allows to continuously run specified tests on a d3web knowledge base in development.
* __[KnowWE-Headless-App]__: An version of KnowWE without the normally underlying web server. It can be used to produced d3web knowledge bases from wiki pages in a batch process.
* __[Mobile-App]__: Application allowing to use d3web problem solving knowledge on your mobile device.

!!! Modules

Modules are the different parts of the main products and applications 

!Complex modules (more than one plugin)

* [Module TimeDB]
* [Module CostBenefit]
* [Module Rdf2Go]
* [Module DiaFlux]
* [Module Testing]
* [Module TestCase Player]



%%Todo
Describe the actual modules
* Create new articles for complex modules with multiple plugins
* Use ontology descriptions for "included plugins", "quality level", "license"
* Describe/define quality level, add articles for the different licenses and link them
* d3web-KnowWE-Releases contain all used licenses...
* Profiles in KnowWE-App as hints for available "modules"
* Simple modules are not defined manually... all plugins that are not part of a complex module are simple modules aggregated on one page, probably using a sparql query or an own KnowWE-Plugin

  @user: Markus Friedrich
%


%%Todo 
Module description
* Module overview: Matrix of which module influence which product?
@user: Albrecht Striffler
%




%%Todo
Module-Plugin implementation
* Jenkins-Plugin to upload Plugin/Module information
** [https://wiki.jenkins-ci.org/display/JENKINS/Extend+Jenkins]
** SVN: https://svn.jenkins-ci.org/
** Download jenkins war and add to tomcat
** Get hello world plugin and import into new workspace
** Plugin execution not covered by lifecycle configuration does not matter, it is just ugly
** Maven install hello world plugin
** Copy hello-world.jar to WEB-INF\lib
** Copy hello-world.hpi to WEB-INF\plugins
** Start tomcat/jenkins
** Hello world plugin will be available as post step option
** Start implementing new plugin to upload build data to d3web.de page as a attachment
** [Some additional code snipplets on how to upload files to a KnowWE Action|Upload a file to KnowWE]
** Provide information needed for module pages

@user: Alex Legler
%

%%Todo
Module-Plugin implementation
* Design ontologie about module information. We want for example the following information per module:
** What maven modules / svn projects are part of this module (will be defined on the module page with turtle markup)
** What projects are not in any complex/aggregated module
** What are the last x changes to any project of a module
** What is the heat of the module (changes/day in the last month?)
** What are the test stats for the module
** General stats, if possible? LoC, Classes, BuildNumber
** Authors (people who created modules, changed them)
** More interesting stuff?
* Write KnowWE-Plugin to add data provided by Jenkins-Plugin to the rdf2go model.
* If there is time: Write KnowWE-Plugin to render module information from rdf2go model in a nicer way. If there is no time: Use default SparqlRenderer
@user: Sebastian Furth
%

!Product Ontology

[Product Ontology]