/KnowledgeWright

Customizable Knowledge Engineering Tool

Primary LanguageJava

KnowledgeWright

Customizable Knowledge Engineering Tool

KnowledgeWright was one of my favorite Amzi! products. It brought together many of the features I felt made Prolog such a powerful tool for knowledge engineering. That is, Prolog is a fantastic language for creating other languages and reasoning engines.

There is discussion on the merits of domain specific languages. The advantage is you have a language for specifying knowledge that fits well with the domain, making development and maintenance much easier. The down side is you have a specialized tool to maintain as well.

With Prolog it is relatively easy to create domain specific languages, so that the cost of doing so is much less than with other tools.

KnowledgeWright uses Prolog to create a framework for knowledge engineering languages. It includes a basic syntax for specifying knowledge, and a reasoning engine for reasoning over that knowledge. Both are highly customizable, and there are samples showing this. A customization is called a 'jig'.

The naming of KnowledgeWright was part of it's appeal. A 'wright' is one who crafts things, like a wheel wright. A jig is a specialized tool for building a specific sort of thing. So there can be jigs for support applications, or sales, or whatever.

For whatever reason, KnowledgeWright was never a huge commercial success, but it continues to have users around the globe. For those who are interested in taking this tool further, or working with it more, here it is. If you have any questions about it, well it's been a long time since this code was written, but feel free to ask.

Note that the current distribution was developed on a Windows platform, but the system is all Java and Prolog, so it could easily be moved to other platforms.

--Dennis open.source@amzi.com