Exsys

Exsys Tech Support FAQ

Some of the more common questions users have in using Exsys Corvid are listed below. Click on a question for more information. Questions are divided into sections:



If this does not answer your question, contact us with a complete description of the problem including any error messages displayed.

A: Questions on Installing and Activating Exsys Corvid

A1: How do I Activate Exsys Corvid?


When both evaluation and full versions of Exsys Corvid install, the license parameters are set to run for 30 days and allow systems of up to 150 nodes. If you have purchased a license for Exsys Corvid, you will be sent an Activation Code to fully activate your copy. Follow the Install Instructions for the details on contacting Exsys Inc to get your Activation Code.

If you are using Exsys Corvid as part of a class, your professor may have provided you with "Pre-approved" code or instructions on extending the license parameters for the class.

If you are just trying Corvid out, the license will be limited to the default parameters. When Corvid starts, the current day and node limitations will be displayed. When the day count reaches 0, the program will stop working. If there is a need to extend the license to allow an evaluation to be completed, contact sales@exsys.com

A2: I entered the Activation Code and got the message "Invalid Activation Code"


Activation Codes only work on the PC that generated the user code, and they only work one time. If the code was generated on another machine or has already been used, it will not work again.

First make sure that there was not a typo in entering the code. The best approach is to copy and paste the Activation Code sent to you in the email. Be sure to only copy the code from first character to last with no extra spaces, carriage returns, etc. Copy it into the "Activation Code" edit box on the "Welcome to Exsys Corvid" window and click "Register".

If the code still does not work, contact support@exsys.com for assistance.

A3: I tried to download the Corvid Demo and did not get an email.


Normally the email is sent out in a few moments and should be received quickly.

The system used to send the download link will send the email to the address entered in the system. If that address was not correct, the email will not get to you. If you think there may have been an error, run the download system again.

Also, if the "spam" settings for your email program are set high, the email from Exsys Inc may have been filtered out. Check to see if it is in a folder of filtered messages, or put Exsys in as an allowed sender and try the system again.

On rare occasions, our ISP is down and emails may be delayed. This is should not last very long.

If you do not get the email after a reasonable time, contact info@exsys.com and we will send you the links.

A4: Can I make copies of the Corvid software?

The Exsys Corvid software uses a license manger that controls both the length of time the program will run and size of systems that can be built. When you purchase a full Corvid license, you will be sent an Activation Code that will unlock your copy of Corvid and remove these limitations for a single computer. Corvid is licensed by individual user.

Since Corvid always installs with a 30-day / 150-node limitation, we allow you to make copies of the software and to install it on other machines. These "extra" installs will behave as evaluation installations, and only the fully licensed computer will have the limitations removed. If you have colleagues that are interested in try Corvid, they can use your disks as evaluation versions, or download the standard evaluation version.

 

A5: I get the message "Error: License parameters could not be set.  Make sure you are logged in as Administrator"

To activate the license Corvid needs to write a license file. It requires that you be logged in as "Administrator" to do this. (Note: This requirement to be "Administrator" only applies when activating the license and you do NOT need to be Administrator to run the program.)

Corvid checks that the license information was written to the file. If it was not written, generally that usually means you were not logged in as "Administrator" or some other account with high enough access to write the file. Log in as Administrator and try again. If you are sure you are logged in as Administrator, there may be some other problem in writing the file. Contact your system administrator or support@exsys.com.

A6: I'm using Corvid in a class and was given a "Pre-approved" Activation Code

Pre-approved Student Codes can be used to activate Corvid without having to send in a "User Code" and wait for an "Activation Code". Just enter the code in the edit box on the "Welcome to Exsys Corvid" window. Pre-approved codes are validated with the Exsys license server. To do this you must be online and able to connect to the Exsys server. If the machine being used can not connect online, there is an alternate way to activate the software. Ask your professor to have him contact Exsys Inc to get an Activation Code.

A7: I got the message "Error: Could not connect to Exsys server.  Online activation can not be used."

Pre-approved Student Codes are validated with the Exsys license server. To do this you must be online and able to connect to the Exsys server. If the machine being used can not connect online, there is an alternate way to activate the software. Ask your professor to have him contact Exsys Inc to get an Activation Code.

A8: I'm using the Demo (Evaluation) version of Corvid and the days allowed is 0

When the "Day" counter reaches 0, Exsys Corvid will stop working. It can be reactivated by entering an Activation Code. If you have purchased Exsys Corvid, follow the install instructions to get an activation code. To request a time extension, contact sales@exsys.com

A9: I don't have Java on my computer. Where do I get it?

All you need to run Exsys Corvid systems is the Java Runtime Environment (JRE). Depending on your hardware and operating system, various JRE are available from several sources. For most machines, the best source is Oracle/Sun This is available for free at http://www.java.com/getjava/ (You do not need the full Java development environment, only the JRE.)

If you are using unusual hardware or OS, try Googling "Java JRE" plus a description of your machine/OS.

A10: Will Corvid work on an Apple Mac?


The Exsys Corvid Development tools require MS Windows. They can be run on a Mac using Bootcamp or Parallels. They may also work with other emulators, but have been tested with Parallels.

The runtime programs, and systems built with Corvid, are Java based and can be run on any computer that supports Java, including Macs, Linux, UNIX, MS Windows and many mobile devices.

 

A11: I get an error message that the Screen Resolution is not high enough.

The Exsys Corvid Editor requires a screen resolution of 1024 x 768 or higher. If you use "Large Fonts" you will probably need to go to even higher resolution to get all information on the screen.

If possible, increase your screen resolution. This is done from the Control Panel in MS Windows. Select "Display" and choose a resolution greater than 1024x768. If you use a "Large Font", 1024x768 will not be big enough so either use Small Font or select the next higher resolution.

A12: I get the message "Error: Evaluation and student versions of Exsys Corvid can not be activated at this level message "May not be Administrator"

The student (Evaluation) version of Exsys Corvid has hard coded limitations that can not be exceeded with an Activation Code. Using an Activation Code that would set limits beyond these hard coded limits leads to this error message.

The Full version of Exsys Corvid does not have these limits. If you have purchased an Exsys Corvid License, but have an Evaluation version already installed:

  • Uninstall the Evaluation version of Corvid
  • Install the "Full" version. This can be from a Corvid Install CD or from a download link. (Contact sales@exsys.com if you do not have this link)
  • Retry the Activation Code with the Full version.


B: Questions on Building Systems with Exsys Corvid

B1: I get an error message about exceeding the evaluation Node Limit.

You have an evaluation version of the Corvid software or a full version but have not registered it and obtained an registration code. These versions are locked to allow only a limited number of "Node"s to be built. A "Node" is a line in the Logic or Command block.

If you have purchased a full version license of Corvid, follow to Install Instructions to get an Activation Code that will unlock the program and allow an unlimited number of nodes. If you have the evaluation version, it is limited to 150 nodes. If this is presenting a problem for the evaluation, contact sales@exsys.com to request increasing the number of nodes allowed.

If you are using Exsys Corvid in a class, your professor may be able to proved a code to extend the node limit to 250 nodes.

B2: What HTML codes can I use in my system?

That depends on how a system is delivered to end-users.

The Corvid Applet Runtime designs screens using Corvid Screen Commands. These allow the control of color, font and placement of text and images. In addition, simple HTML <A>, <IMG> and <BR> tags are recognized by the applet.

For example:

  • To add an image use: <IMG="imageName.jpg">
  • To add a link use: <A href="mylink.html">link</A>
  • To start a new line use: line 1<BR>line 2

The Applet runtime supports only the simple HTML tags, and does not support "CLASS=" or similar more complex tags. The applet itself is part of an overall HTML page that can contain any HTML commands outside of the APPLET section.

If you are using the Corvid Servlet Runtime, user interface screens are designed using HTML templates, which can use the full range of HTML commands, including JavaScript, CSS, XML and other extensions to HTML supported by the browser.

B3: How do I create an icon that starts Corvid and loads my system?

Create a shortcut by either:

  • Right-mouse clicking on the Exsys Corvid.exe file and select "Create Shortcut"
  • Selecting Exsys Corvid from the Start menu, right click on it and select "Create Shortcut"

Drag the shortcut to where you want to keep it.

Right-mouse click on the shortcut, select "Properties", then go to the "Shortcut" tab.

  • In Target, after the Corvid program name, add a space and the name of your expert system. If your expert system has a space in the name, put quotes around the name.
  • In the "Start In" edit field, specify the path to the folder that has the expert system files.

B4: How do I produce system Results that can be printed?

Due to security limitations imposed by Java, applets cannot directly write to the local printer or hard drive. This prevents an applet from being able to print directly.

There are two options. If the system has Results that will all fit within the applet window, the Browser's Print button can be used to print the page containing the applet. This will not work if the applet has scroll bars, and is not displaying all of its contents at one time. The Print Screen option will only print exactly what is on the screen.

To print a larger Results screen, it is necessary to use the SaveReport and DisplayReport commands. SaveReport calls a program on the server that writes the Results to a temporary file there. Java allows an applet to write back to the server. The DisplayReport command displays the Results in a new Browser window. This window is just a normal browser window, not the Corvid Runtime applet, and can be printed with the normal browser print commands. This will print the entire window. In addition, if the report is created using RTF, most browsers will open a word processor (typically MS Word) to display the document. The print functions from the word processor can then be used to print the Results. Likewise reports can be generated as PDF documents that can also be printed.

Using the SaveReport and DisplayReport commands requires that the Corvid server-side programs be installed on the server. See the Corvid documentation on setting these up.

If the system is being run as a Java Application (not an applet), it can write directly to the hard disk. This allows writing temporary files and then calling a text editor (e.g. Notepad) to display and print the text.

Another option is to use the Corvid Servlet Runtime. In that case, all user interface screens are designed with HTML templates. A report page can easily be created and displayed in the user's browser window. This page is a standard HTML page and can be directly printed or saved using the Browser functions.

B5: I get the error message "Error creating runtime file - invalid name or file protection"

The file may be "write protected". This can happen if you try to run a CVD file that is on a CD. Copy the CVD file to your hard disk and make sure it is not "write protected". If you are using the "Save CVR file in:" option on the "Properties" window "Test Run" tab, make sure that the path specified is correct and exists.

B6: How can I prevent the user from going past the Results Screen?

If your system goes past the last command in the Command Block, it will display a "System Done" message. The easiest way to avoid this is to prevent the user from going past the RESULTS command (which is usually the last command in the Block).

You can remove the OK button at the bottom of the RESULTS screen and replace it with a RESTART button. This way the user can restart the system, but can not go past the RESULTS command.

This is done when designing the Results screen by adding a "BUTTONS: LastScreen" command in the screen design. This can be any line in the screen commands. To add it, go to the Screen Command Builder and pull down the drop down list next to "Buttons" and select "Last Screen".

If you were using the default Results Screen which has no commands, build a screen with the two commands "VARIABLES" and "BUTTONS: LastScreen". This will behave like the default screen, but will remove the OK button.

B7: How do I have one system start another knowledge base?

One applet system can call another just by linking to the URL that starts the other system. This can be done using a link in the system from either text or an image. The link would be the URL to start the other system.

A second system can also be started automatically from the Command Block. This is done with the DISPLAY_HTML command to display an HTML page in the same window. Normally, a DISPLAY_HTML command displays the new page in a separate window, but here the goal is to overwrite the current page. Add a command at the end of the Command Block, with a DISPLAY_HTML command (built from the Results tab on the Command Builder) and add "_self" as the target. This would look something like this:

DISPLAY_HTML "Page_to_strt_second_system.html,_self"

The command specifies the window/frame name that the URL is to be displayed in, and "_self" causes the page to be displayed in the current window.

Note: Do this only when the applet is done, since it will close the page running the applet and it cannot continue. If the user hits their Back button to go back to the Web page that holds the applet, the applet will start and run all over again from the beginning. If you want to pass data between the systems, it will have to be written to a database before the first system calls the second, and then the second will have to recover it from the database.

B8: I can't print my system from the Corvid Editor.

Usually this is caused when the Printer Drivers do not match the Printer model. Printing the Corvid tree structures seems to require functions in the printer that most other programs do not call for. For example an HP DeskJet 900 driver may work most of the time for an HP DeskJet 932C but will not work correctly when printing the trees.

Go to Start | Settings | Control Panel | Printers and make sure you have the correct driver for your specific printer. Also make sure the correct driver is the default that Exsys Corvid is using. When it is printing, right mouse click on the printer icon (on the task bar near the clock), and go to File | Properties and see if it matches.

B9: How do I determine what Java is using as the CLASSPATH?

Java uses the CLASSPATH to determine where it looks for various parts of the program. This should only be an issue in running as an Application.

In MS Windows, open a Command Prompt (DOS window) and type the command:

set

Look for CLASSPATH. If the text scrolls off the screen too quickly to read type:

set | more

In Unix or Linux, open a console window (terminal window) and type:

Printenv | grep CLASSPATH or export | grep CLASSPATH

When running as an Application, the classpath is specified by the -cp parameter.

B10: What languages can I build my system in?

Exsys Corvid and the Corvid Runtimes use Unicode, which supports all languages. We know of systems built in English, Japanese, Chinese, Korean, Spanish, French, German, Italian, Finnish, Hebrew, Russian, Arabic and Malay. This list keeps growing everyday. We are not aware of any language that cannot be used.

B11: How do I build WINK "What I Need to Know" Site Concierge Systems?

Corvid enables you to build a virtual concierge for complex web sites to dynamically build a custom page of content and links based on the visitor's interests.

This PDF on building WINK systems explains the details.

A sample WINK system on Exsys products can be run here. (This system uses a Adobe Flash user interface, but that is not required for WINK systems.)

B12: How do I Automatically Save User Input to a Database?

You can build systems that automatically save all user input to a database, allowing the user to exit a run at any point and restart later where they left off. This PDF explains how to use this approach for both Applet and Servlet Runtimes.

A sample system illustrating saving input to a database can be run here.

The Corvid files used to build the demo can be downloaded here. This is a zip file with files that can be used as a starting point to implement this feature in your systems.

 

 

B13: How do I Add a Button to Save User Data and Exit a Run?

Corvid systems can be designed to allow an end user to quit a session and resume it later. One way to implement this is to allow the user to exit a session by clicking on a "Save" button that will save their input and exit the session. This user can then later return to the session by recovering the saved data.

This PDF explains the details of how to use this approach for both Applet and Servlet Runtimes.

A sample system illustrating this can be run from here.

The Corvid system and files used for the demo can be downloaded for Applet based systems and Servlet based systems.

B14: How do I Save User Input to a File on the local PC?

Java security prohibits creating files on the local PC when running as a Java Applet. To create files locally, the system MUST be run as a Java Application. In that mode, files can be created locally to save input or reports.

This PDF provides the details of using this capability.

The files for a sample system that can be run on your PC can be downloaded from here.

 

 

 

 

B15: How do I interface to a database?

There are many ways to integrate a Corvid system with databases both to provide data needed in the system and to store session data.

A PDF explaining various ways to integrate databases can be downloaded here.

A sample system illustrating some of the capabilities can be run here.

The Corvid files for the sample system can be downloaded here.

 

 

 

B16: How do you design a system to run in a Kiosk (Touch Screen) environment?

Corvid systems can be designed to run with only a touch screen interface. This is often found in kiosks that do not have a keyboard or mouse for input. By designing the user interface correctly, even complex Corvid systems can be run in these environments.

A PDF document explaining how to design interfaces for touch screens can be downloaded here.

A sample system illustrating a touch screen user interface can be run here.

The Corvid files for the sample system can be downloaded here.

B17: How do I run an Applet system in Frames to build more complex user interfaces?

When using the Corvid Applet Runtime, the system runs in a Java Applet window. This window is on a HTML page. However, that page can be designed using frames, with the Corvid Applet Runtime in one frame. A system can dynamically push content into the other frames on the page for much more complex user interfaces. Explanatory material or images can be pushed into a frame when a question is asked in another frame. Users can navigate in a frame without changing the Corvid system that is running.

A PDF document on designing a frame set to work with Corvid can be downloaded here.

A sample system illustrating using frames can be run here.

The Corvid files for the sample system can be downloaded here.

 

B18: How can I use an Image Map to read a value that has a continuous range of values?

Image maps are often used to set individual specific values, such the value for a Static List variable. However, an image map can also be used to represent one or two dimensional ranges of values. The spot where the user clicks is returned as a value proportionately indicating where on the map they clicked. This allows functionality similar to a "slider bar" to be added to a system.

A PDF document describing using Image Maps for continuous variables can be downloaded here.

A sample system illustrating using Image maps this way can be run here.

The Corvid files for the sample system can be downloaded here.

 

B19: How do I set a Dynamic List Variable's Value List from a Database?

The list of possible values for a Dynamic List variable can come from a database.

A PDF document explaining how to do this can be downloaded here.

B20: How can I expand the Corvid Applet to fill an entire window?

The Corvid Runtime Applet window can be set to fill the entire browser window. This allows an system running with the Applet Runtime to look much more like a Servlet Runtime system.

A PDF document explaining the settings needed to expand the Applet window can be downloaded here.

A sample system illustrating the Applet Runtime filling the window can be run here.

The Corvid files for the sample system can be downloaded here.

B21: How can I optimize my system for speed?

Corvid systems run quite fast and speed is rarely an issue.

Having TRACE turned on will slow systems down, especially MetaBlock system, and TRACE should always be turned off when a system is fielded.

In general, it is far better to design a system with logic that is clear and maintainable than to try to modify the logic for slight increases in speed. Clear logic design will have far more long term benefits.

There are some options for the Corvid Servlet Runtime that can be used to reduce server load, but Java Servlets are highly efficient and unless a large system is getting very high numbers of simultaneous hits, they are unlikely to be needed. If there are performance issues, contact support@exsys.com, to discuss ways to optimize you system

B22: The commands is an IF, WHILE or FOR loop are not executing as expected

First, make sure that the commands are actually associated with the IF, WHILE or FOR. They should be indented below the IF, WHILE or FOR and be highlighted by a icon matching the IF, WHILE or FOR color. Simply being between the command and the "End" line of the command is not enough. The "End" line is only a comment and added to make adding commands below the IF, WHILE or FOR easier.

To add commands in an IF, WHILE or FOR loop:

  • Add the looping command (IF, WHILE or FOR)
  • Click on the looping command to select it and add the first command in the loop by clicking the "Add Blow" button. This will be indented under the looping command and highlighted.
  • Click on the command just added, and add additional commands relative to it using "Add Below" and "Add Above"
  • When done adding commands in the loop, click on the "End" line to select it and click the "Add Below" button.
B23: Where is the "Final Results Flag" set and what is it?

The "Final Results" flag is a holdover from early versions of Exsys Corvid. It was the way to select which variables should be displayed in the results screen. This has been replaced by other, better, ways to define that screen, but the "Final Results" option is maintained for backward compatibility with earlier systems.

It is set from the Variables window, by selecting a variable and going to the "Options" window. It can be set for individual variables by a check box in the upper left corner. This check box will be disabled unless the "Show Advanced Options" check box is selected at the bottom of the window.

The "Final Results" flag can be used to select a group of variables for backward chaining, and some other commands. While this is supported by Corvid, there are usually better ways to specify a group of variables. Since the "Final Results" flag can be used for various, possibly conflicting, groupings - it is better to use other approaches such as naming conventions with masks. These allow the same types of groupings, but are easier to recognize and maintain.

 

B24: The commands in a WHILE or FOR loop only seem to execute once.

When a Corvid variable has its value set, or a rule is tested and evaluated (either true or false), it has a flag set to prevent it being evaluated again. In a WHILE or FOR loop, the first time through the loop may set various variables and use various rules. These variables/rules will NOT be evaluated again on subsequent loops unless they are RESET.

The RESET commands can be used to reset individual or groups of variables or rules so that subsequent loops will re-evaluate them. Virtually all WHILE or FOR loops must have at a RESET command in the loop to work correctly. In some cases, all variables may be reset, or the system may need to retains the values of some variables while resetting others. Likewise, the rules needed in the loop must be reset to be reused. Rules are reset by using the RESET command with the block that the rules come from. This allows resetting all the rules from a specific logic or action block with one command.

 

B25: Some of the brackets in my Logic Block are just gray vertical lines.

When nodes are added to a Logic Block as a group, they will be indicated by bracket icons with a top, bottom and (when needed) middle. These are red for incomplete rules and green when the rule has at least an IF and THEN node.

When nodes are added individually rather than as a group, the node will be marked with a gray vertical bar. This does NOT effect how the rule is used by the Corvid Inference Engine. The bracket or line icon is only to help the developer see the structure of the logic block. Related nodes can be grouped to have bracket icons by selecting them and using the "Group Together" button. This will add brackets, but the rules will run the same either way.

B26: How can I let the user answer "I Do not know"?

There are various ways to handle a "Don't know" value for Static List variables. It all depends on how "Don't know" should be handled for your particular system logic.

A "Don't know" option can be added as one of the static list value options, like any other text. In some cases, "Don't Know" can be handled as a safe default in the rules by including it with one of the other values in IF conditions, such as "The answer is Yes OR Don't know".

In other cases, the "Don't Know" can be used to trigger other rules that will help the user determine what the value should by asking other questions. To do this, create a new logic block and have the top IF condition be the variable with the "Don't Know" value. Then add logic in the block that will set one of the other values for the variable. Make sure to use backward chaining. If the user selects "Don't know" for the question, the logic block will automatically be used to derive some other value. That value will then be used in the rest of the rules for the question.

B27: How can I combine IF conditions with OR instead of AND?

In Corvid, rules always combine multiple separate IF conditions with AND, so if you want to build conditions with OR or NOT, it must be done as an expression in a single node. Individual nodes can use complex expressions and parenthesis to build any logical expression needed. These can involve multiple variables when needed. In expressions, OR is indicated by the vertical line (|), AND by the ampersand (&) and NOT by the exclamation mark (!)

Static list variables can be included in expressions by using the .CHECK property which returns TRUE or FALSE if a particular value was set. The value can be specified by either the value number or the text of the value.

For example, if there are 3 Static List variables:

[car_engine] with values "broken" and "OK"
[car_tires] with values "flat" and "OK"
[car_oil] with values "empty" and "OK" write an expression that

To write an expression for a node that is true if any of the problems occur would be:

[car_engine.CHECK broken] | [car_tires.CHECK flat] | [car_oil.CHECK empty]

 

B28: How do I add a Higher level node in the Logic Block?

To add a higher level node in a Logic block:

  • Click on the top level (first) node in the logic block to select it.
  • Click on the "IF-And-Above" button
  • Enter the node or nodes to add.

If only a single node is added, it will be come the new top node. If a group of nodes is added to cover various possibilities, the FIRST node in the "Nodes to Add" list will be new top node and the others will be new nodes at the same level as the new top node.

B29: How do I read data from an XML file?

Data stored in XML files can be read with XPath commands.

 

B30: What are the CVD, CVR and CVRU files?

Corvid uses 3 main files. The CVD file is the file the developer uses. It contains all the information on a system, variables, logic blocks, etc. This file is only needed by the system developer and corresponds to the "Source Code" for the system.

The CVR file is the runtime file for the system. It contains only the information needed by the Corvid Inference Engine to run the system. This is much less than in the CVD. The CVR is used to field the system with either the Corvid Applet or Servlet Runtime program.

The CVRU file is now obsolete. Corvid versions after v5.1 no longer generate a CVRU file. Previously, it was exactly equivalent to the CVR file, but was not compressed. This was provided due to limitations of earlier browsers which used a version of Java that could not handle compressed files. That is no longer the case, and all browsers can now work with compressed files. so the CVRU file is no longer needed or generated.

B31: What order does Corvid run Logic Blocks in?

Corvid will test logic blocks in the order that they were entered in the system. This is the order used in FORWARD commands, and is the order rules are checked during backward chaining.

To examine and change the block order:

  • Close all open Logic, Action and Command Block windows
  • Under the Corvid "Run" menu select "Reorder Logic Blocks"
  • The list shows the current order that blocks are run in. To change the order, click on a Block to select it and use the "Move Up" and "Move Down" buttons to reorder the list.

The list order applies to all operations in the system. If you need one order for backward chaining, but another for FORWARD, change the FORWARD command to be a set of FORWARD commands to call individual blocks in the order desired.

B32: How do I prevent the "System Done" screen at the end of a session?

If your system goes past the last command in the Command Block, it will display a "System Done" message. The easiest way to avoid this is to prevent the user from going past the RESULTS command (which is usually the last command in the Block).

You can remove the OK button at the bottom of the RESULTS screen and replace it with a RESTART button. This way the user can restart the system, but can not go past the RESULTS command.

This is done when designing the Results screen by adding a "BUTTONS: LastScreen" command in the screen design. This can be any line in the screen commands. To add it, go to the Screen Command Builder and pull down the drop down list next to "Buttons" and select "Last Screen".

If you were using the default Results Screen which has no commands, build a screen with the two commands "VARIABLES" and "BUTTONS: LastScreen". This will behave like the default screen, but will remove the OK button.

B33: How do I turn on TRACE?

To turn on trace:

  • Open the "Properties" window.
  • Select the "Applet" tab
  • For the Corvid Applet Runtime, check "Enable Trace" - this will trace to the Trace applet which will appear below the standard Runtime applet window.
  • For Systems run as Java Applications, check "Trace to Java Console" - this will trace to the Java console window.
trace
B34: How do I display only Confidence variables with a value > 0?

When building the Corvid Screen commands:

  • In the Variables drop down, select "CONFIDENCE " for all confidence variables, or select an individual Confidence variable
  • Select the "Display" tab
  • Check the "Meet the test " checkbox
  • Enter " # > 0 " or any expression to use to limit the variables displayed. The # will be replaced by the value of the variable. If the test expression is true, the variable will be displayed. If it is false, the variable will not be displayed. More complex expressions can be used to display only variables in a range. Just write a standard Corvid expression, but use # where the value of the variable should be inserted.
confidence
B35: How can I display only the confidence value text, without the value?

If only a specific Confidence variable is needed, its prompt can be embedded with double square brackets, using the .PROMPT property:

[[ConfVar.PROMPT]]

If multiple Confidence variables are being displayed in RESULTS, (such as displaying all Confidence variables that got a value over X)

  • Goto the "Format" tab
  • Check "Prompt Only - no value"
confidence
B36: How can I have my system draw graphs?

Exsys Corvid does not directly draw graphs, but can use other programs and applets to do so. The easiest way is to run the system with the Corvid Servlet Runtime. The HTML templates and report files can include calls to small graphing programs such as applets and Flash SWF files embedded in the page. There are many graphing applets available on the Web. Some are free and some are commercial. These can be included in the page and passed system data using double square bracket replacement.

When running with the Corvid Applet Runtime, the same graphing applets can be included in HTML reports. It is also possible to use inter-applet communication to send system data to another applet on the same page which would graph it, though since this requires setting up inter-applet communication with the Corvid Applet, this would have to be custom coded in Java.

B37: How do I ask multiple questions on the same screen?

It is easy to ask multiple questions on the same screen.

  • Open the Variables window.
  • Select the "Controlling" variable. This is the variable that will be asked but will ask others at the same time.
  • Go to the "Also Ask" tab
  • Select the other variable to ask from the drop down list and click "Add" (This can be repeated for as many variables as needed
AlsoAsk

The "Controlling" variable will be asked first, followed by the variables in the list. To change the order of the "Also Ask" variables, select on and use the "Move Up" and "Move Down" buttons to reorganize the list.

AlsoAsk
B38: How do I set the background color for my system?

To set the overall background color for the Corvid Applet Runtime::

  • Open the Properties" window
  • Go to the "Applet" tab
  • For "Background color", enter a RGB value or click the "Build" button and choose a color.
Background Color



C: Questions on Running and Fielding Systems with the Corvid Applet Runtime

C1: I get a "Version Mismatch" error when running the system

The version mismatch error indicates that the version of the Corvid Editor that built the system does not match the version of the Corvid Runtime (ExsysCorvid.jar for applets or CORVID.war for servlets) being used to run the system. This typically happens when the ExsysCorvid.jar gets updated on the development computer, but does not get copied to the server.

The files Corvid produces are upwardly compatible and can always be read and edited by higher versions of the Corvid Editor and Runtimes. However, the Corvid Runtime programs will reject files produced by versions of the Editor that are higher than the Runtime being used. This will produce a "version mismatch" error.

If the version mismatch is coming from a server and you have recently upgraded your version of the Corvid Editor:

For the Corvid Applet Runtime: Move the ExsysCorvid.jar file from the development machine to the server. The .jar file is normally in \Program Files\Exsys\Corvid. If that does not solve the problem, open the system .CVD file with the Corvid Editor, click Run to produce a new .cvR file, and then move the new .cvR and associated ExsysCorvid.jar to the server.

For the Corvid Servlet Runtime: Move the Corvid.war file to the server and check that the servlet container (e.g. Tomcat) has deployed it. This can generally be done be deleting the "Corvid" folder and waiting for it to be automatically recreated.

C2: The Corvid Applet Runtime hangs with just a gray window displayed.

If the Corvid applet draws a gray screen and appears to hang, always check the system trace.

Look for the last line in the trace, or copy the trace content and search it for "ERROR", which should indicate the problem.

To turn on trace:

  • Open the "Properties" window.
  • Select the "Applet" tab
  • For the Corvid Applet Runtime, check "Enable Trace" - this will trace to the Trace applet which will appear below the standard Runtime applet window.
  • For Systems run as Java Applications, check "Trace to Java Console" - this will trace to the Java console window.
trace

 

C3: A screen that should be asking a question is empty.

Turn on the Trace function to see that Corvid is actually asking the question. If there is an external source for the variable, it and there is a problem in the external source, the system could be hung on that.

If the screen shows the OK button, but no question text, check the text color that is set for the question and background. If these are set to the same color, nothing will be visible.

For the Corvid Servlet Runtime, verify the template has a CORVID_ASK section that matches that variable.

C4: How do I run systems as a Java Application?

To run as a Java Application requires having Java on your computer

  • Open the "Properties" window
  • Select the "Test Run" tab
  • Select the "Application" button
  • Click the "Select Java.exe" button and browse to where java.exe is located. This will probably be in "Program Files" in a folder related to Java. If you do not have Java, it can be downloaded for free from http://www.java.com/getjava/ (You do not need the full Java development environment, only the JRE.)
Application

When the blue "Run" triangle is clicked the system will display a Java window and run the system in a Java application window.

C5: How can I test my system with a specific browser?

By default Corvid uses the Corvid Browser, but this can be changed to any browser your prefer.

  • Open the Properties window
  • Select the "Test Run" tab
  • Next to "Specific Browser" click the "Browse" button and select any browser program (IE, Firefox, Safari, etc)
  • When you run your system, the specified browser will be used.

    (Note: To run in Servlet Emulation, you must use the Corvid Browser)

    C6: My system uses the WRITE command, but it is not creating a file on the local PC.

    Due to Java Security restriction, the WRITE command ONLY works when running as a Application. It will not work when running as an Applet. For the details on running as an Application see this PDF.

    If everything is set correctly to run as an Application, and some files can be created, but some are not working, it may be a problem with the path specified or the case of the file/path name. The WRITE command will create a new file, but it will not create a new folder. If the file to be created is in a specified folder, that folder must exist before the WRITE command is executed. If you are running on an operating system that is case sensitive (UNIX, OSX, etc) the case of the filename and path must also match exactly.

    C7: Can I run systems on an iPad or iPhone?

    Both the Apple iPad and iPhone do not provide support for Java. This means that the Safari browser on these devices can not run Java Applets. Corvid systems delivered with the Corvid Servlet Runtime will work on these devices provided they only use the portions of HTML that are supported by the Safari browser. However, this includes HTML5 and CSS3 which enables many interesting user interfaces to be delivered on these platforms.

    If at some point, the iPhone and iPad add Java support for Safari, Corvid applet systems may be able to be run.

    The iPhone and iPad also do not support Adobe Flash, so systems designed using Flash for the interface, even though delivered with the Corvid Servlet Runtime, will not work.



    D: Questions on the Corvid Servlet Runtime

    D1: Can I directly test my system in Development using the Corvid Servlet Runtime?

    The easiest way to have Corvid automatically run a system using the Corvid Servlet Runtime from the development environment requires:

    • Having a server running with Apache Tomcat or other servlet Engine running on the local machine. (The free Apache Tomcat can be downloaded and installed on the local PC). By default this will produce a "localhost" server.
    • Having the Corvid Servlet Runtime installed on Tomcat.

    To check that Tomcat and the Corvid Servlet Runtime are installed:

    • Create a folder for your system in the localhost section. (This depends on the server, but is likely to be:.....) Put the system files here (This will be at least the CVR file and any templates needed.)
    • Make sure the system can be run by opening a browser and entering a URL similar to:
      http://localhost:8080/CORVID/corvidsr?KBNAME=../MyFolder/MySystem.cvR

    Once that environment is set, all that is needed is to tell Corvid to save the files in a folder that Tomcat can use, and to run using a URL on the local server. This can be done by:

    • Open the Properties window
    • Select the "Test Run" tab
    • Select "Applet" - this just tells Corvid to build the normal system files. The system will still run with the Servlet runtime. (Do NOT select "Application" or "Servlet Emulation")
    • In Specific URL, enter the URL that was used to run the system above
    • In "Save CVR File in" enter the full path and name to the folder where the system files are stored. This MUST be a standard file path (e.g C:/.../MyFolder/MySystem.cvr) - NOT a server URL)
    Servlet

    Now when the Corvid Run icon is clicked, the system files will be created in the folder specified and Corvid will run the system from the server.

    It is sometimes a good idea to also select "Specific Browser" and choose a browser such as IE, Firefox or Safari, especially if the system uses advanced HTML commands such as HTML5 that may not be supported in the Corvid Browser which is aimed more at applets.

    D2: How do I determine the IP address of my server?

    The IP address of the server is needed to get a license code for Corvid Servlet Runtime.

    The Corvid Servlet Runtime will display the IP address unless you have a valid license code. Install the Corvid Servlet Runtime except leave the 'CorvidLicenseCodes.txt' file empty. Run the URL for your expert system. Corvid will display the IP address in the browser instead of running the expert system.

    D3: I get a "Version Mismatch" error when running the system

    The version mismatch error indicates that the version of the Corvid Editor that built the system does not match the version of the Corvid Runtime (ExsysCorvid.jar for applets or CORVID.war for servlets) being used to run the system. This typically happens when the ExsysCorvid.jar gets updated on the development computer, but does not get copied to the server.

    The files Corvid produces are upwardly compatible and can always be read and edited by higher versions of the Corvid Editor and Runtimes. However, the Corvid Runtime programs will reject files produced by versions of the Editor that are higher than the Runtime being used. This will produce a "version mismatch" error.

    If the version mismatch is coming from a server and you have recently upgraded your version of the Corvid Editor:

    For the Corvid Applet Runtime: Move the ExsysCorvid.jar file from the development machine to the server. The .jar file is normally in \Program Files\Exsys\Corvid. If that does not solve the problem, open the system .CVD file with the Corvid Editor, click Run to produce a new .cvR file, and then move the new .cvR and associated ExsysCorvid.jar to the server.

    For the Corvid Servlet Runtime: Move the Corvid.war file to the server and check that the servlet container (e.g. Tomcat) has deployed it. This can generally be done be deleting the "Corvid" folder and waiting for it to be automatically recreated.

    D4: How can I use CSS with Servlet Templates?

    The Corvid Servlet Runtime uses HTML templates to define the end user interface. These templates can use CSS, along with JavaScript, Spry, Ajax and any other capabilities supported by your browser.

    CSS provides a powerful and convenient way to style the user interface, especially when the system may be delivered on various screen sizes or mobile devices.

    A PDF explaining how to use CSS in the templates can be downloaded here.

    A sample system illustrating using CSS to dynamically change the look of a system can be run here.

    The Corvid files for the sample system can be downloaded here.

    D5: How can I use Frames with a Corvid Servlet system?

    HTML frames provide a very useful approach for complex user interfaces. While more commonly used with Corvid Applet Runtime systems, they can also be used with Corvid Servlet Runtime systems.

    A PDF document explains how to use frames with Corvid Servlet Runtime templates can be downloaded here.

    A sample systems illustrating using frames in a servlet system can be run here.

    The Corvid files for the sample system can be downloaded here.

     

     

    D6: How can JavaScript be used in Servlet Runtime templates for special effects?

    The Corvid Servlet Runtime uses HTML templates to define the end user interface. These templates can useJavaScript, along with CSS, Spry, Ajax and any other capabilities supported by your browser.

    JavaScript provides a powerful and convenient way to control user interface.

    A PDF explaining how to use JavaScript to validate input, position the cursor and perform other actions can be downloaded here.

    A sample system illustrating using JavaScript can be run here.

    The Corvid files for the sample system can be downloaded here.

    D7: Can I run systems on an iPad or iPhone?

    Both the Apple iPad and iPhone do not provide support for Java. This means that the Safari browser on these devices can not run Java Applets. Corvid systems delivered with the Corvid Servlet Runtime will work on these devices provided they only use the portions of HTML that are supported by the Safari browser. However, this includes HTML5 and CSS3 which enables many interesting user interfaces to be delivered on these platforms.

    If at some point, the iPhone and iPad add Java support for Safari, Corvid applet systems may be able to be run.

    The iPhone and iPad also do not support Adobe Flash, so systems designed using Flash for the interface, even though delivered with the Corvid Servlet Runtime, will not work.

    D8: When should I use the Servlet Runtime instead of the Applet Runtime?

    Using the Corvid Servlet Runtime has many advantages over the Corvid Applet Runtime, and is generally the better solution if it is available. The Servlet uses HTML templates and allows much more complex user interfaces to be created. It also provides greater system security since only HTML forms are sent to the end user browser. Integration with other server-side programs and databases is easier and faster, and reports can be built and displayed more easily. The Servlet also allows using Adobe Flash for the end user interface.

    The Applet Runtime is better if the system must be run standalone - either as a Java Application or running in a browser window, but off-line. Apple based systems are also easier to build since they do not require some knowledge of HTML.

     

    ShadowBottomRight