Exsys Corvid® Expert System Development Tool

Exsys Corvid is a powerful and extensively proven tool for building and fielding interactive expert system applications online. It is designed to be easy to learn and aimed at non-programmers. It enables the decision-making logic and process of the domain expert to be converted into a structured form that can be used by the Exsys Inference Engine to dynamically drive interactive sessions that provide advice to end users.

Corvid is the result of over 28 years working with businesses and organizations to create a tool based on what developers need to build real-world systems. It takes a very pragmatic approach to system development - make it easy for developers to get systems built and fielded as quickly as possible. Using the online tutorials, most users are able to start building small systems in a few hours. Despite its easy-to-lean nature, Corvid has been used to build highly complex systems.

Corvid solves the 3 main issues in expert system development:

  • Fully capturing the decision-making logic and process of the domain expert
  • Wrapping the system in a user interface with the desired look-and-feel
  • Integrating with other IT resources

Capturing the Decision-Making Logic
Unless an expert system contains the required logic to solve the problem, nothing else matters. Corvid provides multiple ways to describe logic, so an appropriate approach for a problem can be used. Corvid uses "heuristic" If/Then rules based on variables. There are 7 types of variables from fairly standard numeric and string variables to collection variables for dynamic reports or confidence variables that make it easy to build probabilistic systems. Variables have associated methods and properties allowing them to be used in many ways.

The rules in a system are just If/Then rules using English (or whatever language is preferred) and algebra. The rules are easy to read and are essentially the same as an expert would use to explain why they made a decision. Typically each rule represents a small step in a decision. Some rules may represent higher level logic, others may cover intermediate steps and be used to derive information used by the higher level rules.

Logic Block

A complex system may have many rules. Corvid uses Logic and Action Blocks to organize and structure the rules. Logic Blocks are a superset of tree diagrams, and allow groups of related rules to be organized to make them easier to build and maintain, and to show any gaps in the logic. Logic Blocks are very "free-form" and there are many ways to build the logic for a system. This allows the rules to be structured the way the domain expert thinks about the problem, not forced into some other paradigm or programming language. Action Blocks provide another way to build rules that are more procedural and aimed at "Smart Questionnaires"

In addition to Logic and Action Blocks that contain the rules, Corvid has Command Blocks that describe the procedural flow of system execution. Command Blocks are more like a script, but also allow IF, WHILE and FOR loops. By separating the procedural control from the rule logic, it is much easier to build, maintain and update systems.

Some problems are more procedural and Corvid supports these with a forward chaining option. Others use the rules in a true "heuristic" way, calling and using rules dynamically as they are needed via backward chaining. The Exsys Inference Engine provides both options, and they can be mixed for maximum flexibility.

With thousands of users worldwide Exsys Corvid is well proven to be able to handle even complex problems. (Take a look at the Exsys Case Studies and Technical Papers on systems built with Exsys tools to see what others have done.)

ApplicationsBuilding the User Interface
Once the logic is working, the next step is to design the user interface. Corvid makes this step simple too, and does not require the developer to know HTML for online delivery. Corvid systems can be run with either the Exsys Inference Engine as a Java Applet or a Java Servlet Runtime program. In the default Applet mode, screens are defined by setting fonts, colors, positions, images, etc. It is similar to formatting a Word document. For more complex interfaces, image maps can be used. The Corvid Runtime will use the settings to control how questions will be asked and how results will be presented. More advanced systems may generate reports in HTML, RTF or PDF. When using the Applet Runtime, Corvid automatically generates all the files needed to field the system on a web server.

For systems that need more control of the user interface, or which will run server-side, there is the Corvid Servlet Runtime. This optional program implements the Corvid Inference Engine as a Java Servlet. In this mode, the user interface is defined by HTML templates. A variety of basic sample templates are provided with Corvid and can be easily edited with any HTML editor. Here a little knowledge of HTML is needed, but very complex and advanced user interfaces can be created.

For the most complex user interfaces Corvid systems can be integrated with Adobe Flash using the Corvid Servlet Runtime. The Flash application sends data to the Corvid Runtime, which processes it and sends back XML data to Flash. This can be repeated many times and allows Flash applications to integrate with the powerful analytical power of your Corvid expert systems.

Other options for fielding systems include running standalone or embedding under another program. Since the Corvid Runtime programs are in Java, they work across most operating systems and platforms. Any way your system needs to be fielded, Corvid has an approach that will work.

Integrating with other IT Resources
Expert systems often need to integrate with other resources to get data, save results or monitor processes. Corvid makes it easy to connect to databases via SQL commands and XML data via XPath commands. Corvid can read data files or streams and can send information to a wide range of programs. For the highest level of control, custom Java code can be added to the Corvid Runtime programs adding any special functionality that a tightly integrated system may need.

With Corvid, systems can be built quickly. The simple readable syntax of the rules enables domain experts to either build systems themselves or to efficiently work with the development teams. User interfaces can be added to match a website look-and-feel or added by a design team independent of the system logic. Interfaces to external resources are flexible and easy to setup.

Corvid will make your expert system development successful. Download a 30-day demo version of Corvid to try it. Run the online tutorials and you will be building small systems in a few hours. Contact us to discuss how Corvid can best fit into your expert system development plans.