The XML Expert System Shell (XESS) was designed to alleviate some of the difficulties associated with translating a knowledge base from one expert system to another. The major goal of XESS is to allow programmers to model an expert system, complete with traditional facts and rules, in an XML-based language that leverages the universally understood terms used when teaching artificial intelligence to students. XML, the extensible markup language, is a text-based standard for information interchange between disparate systems1; it was originally designed to represent data in an easily parsable, human readable format2. While some extensions of the XML specification, particularly the Simple Object Access Protocol (SOAP), have long since abandoned human readability, the core XML specification is still used frequently to produce documents that can easily be exchanged between computational platforms and created or understood by human beings. The XESS-XML language inherits all of the usability of XML; it can be edited by hand in any text editor, is human readable, and can be parsed using XML parsers commonly available in any modern programming language. The XML Schema specification provides a mechanism for explicitly defining the content of an XML document so that a document can be validated3,4,5. XML schemas specify the make-up of an XML document in exacting detail6, using a pseudo-object-oriented syntax to specify exactly which entities are allowed in the document, the attributes of those entities, where they are allowed in the document, and how often they may occur. The XESS-XML language is defined as a fully extensible XML Schema, which can be used to validate any knowledge base written in the language. The Schema provides entities for common facts (e.g. predictes, structs) and a robust syntax for expressing rules in an if-then-else format, as well as the actions that should be taken in the event that a rule is fired. Additionally, because XML schemas are fully extensible, the XESS schema may be extended to add additional functionality such as support for fuzzy logic, new clause types, or new actions to be taken when rules are fired. In addition to the XML language, XESS also includes an object oriented interpreter specification that defines a robust set of language independent APIs for interacting with the expert system. This interpreter specification is meant to set expectations, both for XESS developers and users, as to the features provided by the XESS API regardless of the language in which the interpreter has been implemented. As part of the specification, the XESS API also provides object oriented definitions for XESS plug-ins; a plug-in is capable of translating from an XESS document to the native language of a specific expert system shell in a generic way (i.e. not specific to any one rule set) and back again. This allows users to express custom expert system shells in the XESS-XML language, parse them using an XESS interpreter written in any language, and translate them to a specific expert system shell through the use of an XESS plug-in without needing to learn the specific expert system shell language or rewriting the knowledge base once for each shell tested.
Library of Congress Subject Headings
Expert systems (Computer science); XML (Document markup language)
Department, Program, or Center
Computer Science (GCCIS)
St. Jacques, Robert J., "XESS: The XML expert system shell" (2008). Thesis. Rochester Institute of Technology. Accessed from
RIT – Main Campus