D3web
Encyclopedia
d3web is a free, open-source platform for knowledge-based systems
(expert systems).
Its core is written in Java using XML
and/or Office-based formats for the knowledge storage.
All of its components are distributed under the terms of the Lesser General Public Licence (LGPL).
The d3web core implements reasoning and persistence components for problem-solving knowledge including decision trees, (heuristic) rules
, and set-covering models.
The core can be integrated into foreign applications (embedded or OEM), but a number of off-the-shelf components already exist.
The following applications are primarily using d3web:
The main application domains are
.
Whereas the original systems were focussed on medical diagnosis the applicability of the approach was generalized by the successor D3
.
As the predecessors were implemented in the LISP programming language, d3web is a full Java re-implementation.
Knowledge-based systems
Knowledge based systems are artificial intelligent tools working in a narrow domain to provide intelligent decisions with justification. Knowledge is acquired and represented using various knowledge representation techniques rules, frames and scripts...
(expert systems).
Its core is written in Java using XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
and/or Office-based formats for the knowledge storage.
All of its components are distributed under the terms of the Lesser General Public Licence (LGPL).
The d3web core implements reasoning and persistence components for problem-solving knowledge including decision trees, (heuristic) rules
Production system
A production system is a computer program typically used to provide some form of artificial intelligence, which consists primarily of a set of rules about behavior. These rules, termed productions, are a basic representation found useful in automated planning, expert systems and action selection...
, and set-covering models.
The core can be integrated into foreign applications (embedded or OEM), but a number of off-the-shelf components already exist.
Components
d3web is a component-based software platform providing applications for authoring and using/executing problem-solving knowledge.The following applications are primarily using d3web:
- KnowWE (Knowledge Wiki Environment): A semantic wiki building on JSPWikiJSPWikiJSPWiki is wiki software built around the standard J2EE components of Java, servlets and JSP. It was written by Janne Jalkanen and released under the LGPL. It is currently undergoing incubation with Apache and its license has been changed to the Apache License. The Sun Java System Portal Server...
. 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 OWLWeb Ontology LanguageThe Web Ontology Language is a family of knowledge representation languages for authoring ontologies.The languages are characterised by formal semantics and RDF/XML-based serializations for the Semantic Web...
ontologies is provided.
- KnowME (Knowledge Modelling Environment): A rich-client application for the development of d3web knowledge bases. Problem-solving knowledge can be authored and executed within the desktop application. Developed knowledge bases can be used in OEM or embedded reasoners.
- Dialog2: A web-based application for demonstrating the capabilities of the d3web core reasoner. The web servlet is based on Java Server Faces. It can be used out of box or as a starting point for own developments for building knowledge-based interview systems.
Application Domains
A number of industrial and academic projects already used or are currently using the d3web platform.The main application domains are
- medical diagnosis, documentation, and therapy
- technical fault diagnosis
- monitoring of technical devices.
History
The development of d3web originates from the research work of Prof. Dr. Frank Puppe (University Würzburg, Germany) going back to the 1980s, starting with the medical expert systems MED1 and MED2.
Whereas the original systems were focussed on medical diagnosis the applicability of the approach was generalized by the successor D3
.
As the predecessors were implemented in the LISP programming language, d3web is a full Java re-implementation.
Related systems
- CLIPSCLIPSCLIPS is a public domain software tool for building expert systems. The name is an acronym for "C Language Integrated Production System." The syntax and name was inspired by Charles Forgy's OPS...
: public domain software tool for building expert systems. - ILOG rulesILOGILOG is an international software company owned by IBM. It creates enterprise software products for supply chain, business rule management, visualization and optimization....
: a business rule management system. - JBoss DroolsDroolsDrools is a business rule management system with a forward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm....
: a business rule management system (BRMS). - JESSJess programming languageJess is a rule engine for the Java platform - it is a superset of CLIPS programming language, developed by Ernest Friedman-Hill of Sandia National Labs. It was first written in late 1995....
: a rule engine for the Java platform - it is a superset of CLIPSCLIPSCLIPS is a public domain software tool for building expert systems. The name is an acronym for "C Language Integrated Production System." The syntax and name was inspired by Charles Forgy's OPS...
programming language. - PrologPrologProlog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of...
: a general purpose logic programming language. - DTRulesDTRulesDTRules is Open Sourced Rules Engine written entirely in Java. DTRules executes Decision tables directly, and utilizes a Domain Specific Language for expressing the conditions and actions within the Decision Tables....
: a Decision Table based, open-sourced rule engine for Java.