WPI Computer Science Department

Computer Science Department
------------------------------------------

Appendix B. Clipsifier Users Guide
------------------------------------------

Clipsify is part of the SiFASyB system. It translates agent descriptions from the Intermediate Language into CLIPS code.

Clipsify was written in C on a DEC Alpha workstation. It is designed to translate the SiFAKA save files into a system of agents implemented in CLIPS, as described in the MQP report entitled "Design and Implementation of a Single Function Agent Generator" by Mark Santesson. The project code is DCB9502.

This document explains how to use the program. It is assumed that the reader has been exposed to such concepts as agents, agent systems, projects, and clipsifying.

Other User's Guides are available:

------------------------------------------

Data Flow Diagram for SiFASyB

Figure B.1: Data Flow through SiFASyB

The Clipsifier is the heart of SiFASyB. As seen in Figure B.1, the Clipsifier is responsible for translating the Intermediate Language code, as entered into SiFAKA, into CLIPS code which can be interpreted by CLIPS. The Clipsifier is non-interactive so all information must be provided through command line arguments. There are three ways that the Clipsifier can be invoked.

To Clipsify an entire project, issue the command

clipsify projectname
where "projectname" is the name of the file that SiFAKA has saved the project to.

To clipsify a single agent, issue the command

clipsify -agentname projectname
where "agentname" is the name of the file that the agent has been saved to. It best to generate the entire system at one time. The process of clipsifying an agent depends on the existence of certain files that are produced when constructing the entire system. These might not be available when Clipsifying just one agent.

The Clipsifier will begin to generate the appropriate files, informing you of what it is working on. If it encounters any errors, you will be informed of what went wrong. All rule related errors should include a reference to what rule set the errors were found in, the exact line it occurred on, and what part of the line caused a problem.

Figure B.2 shows some example rules which will cause error messages.

(SiFAKA screen depicting an error prone agent)

Figure B.2: Rules Which Cause Errors

Figure B.3 shows the error messages generated by the rules listed in Figure B.2.

CLIPSIFIER> Processing "Error Prone" with target "BASE"
CLIPSIFIER> (id 10186, 0 rules, 1 selects, 5 conflict detection methods)
CLIPSIFIER> 
CLIPSIFIER> GenerateTree Error: '<'s left operator isn't a numeric value
CLIPSIFIER> in "('a < 'b )".
CLIPSIFIER> GenerateTree Error: '<'s right operator isn't a numeric value
CLIPSIFIER> in "('a < 'b )".
CLIPSIFIER> Error Parsing "'a < 'b", line 1 of Error Prone
CLIPSIFIER> IdentifyType Error: Must identify "" as Target, but I don't believ
CLIPSIFIER> e it.
CLIPSIFIER> Try starting Target names with capital letters.
CLIPSIFIER> IdentifyOperator Error: Could not identify "1.0".
CLIPSIFIER> IdentifyType Error: Must identify "<" as Target, but I don't belie
CLIPSIFIER> ve it.
CLIPSIFIER> Try starting Target names with capital letters.
CLIPSIFIER> Error Parsing ") 1.0 < 2.0 (", line 2 of Error Prone (".0 ( )" was
CLIPSIFIER>  left over)
CLIPSIFIER> Error Parsing "1.0 < 2.0 )", line 3 of Error Prone (")" was left o
CLIPSIFIER> ver)
CLIPSIFIER> IdentifyOperator Error: Could not identify "^".
CLIPSIFIER> Error: '=' left operand does not describe a value.
CLIPSIFIER> On line 4 of Error Prone: "( 2.0 ^ 3 ) = 8.0"
CLIPSIFIER> 
CLIPSIFIER> 
Figure B.3: Errors Generated During Clipsifying

------------------------------------------

For more information on the Clipsifier, consult the MQP report referenced at the beginning of this document.

------------------------------------------

User's Guides are available for the other two components of SiFASyB:

------------------------------------------

<<<< To SiFA Home Page

Written by: markts@wpi.wpi.edu

[Feedback] [Search Our Web] [Help & Index]

[Return to the WPI Homepage] [Return to CS Homepage]

dcb@cs.wpi.edu / Aug 6, 1996