CASA Distribution

Included here are distributions for CASA; for Mac OS/X (.dmg), Windows (.exe), and generic versions in Java (.jar).  The OS specific versions are just native bundlings of the Java code.  There are .jar files with just the class files, and .jar files containing all of CASA's source code as well.  To round it out, a complete Eclipse project tree is included for Eclipse developers.

Downloads

You can download the following files:

download file platform detail
casa.jar generic/Java jar
A Java jar file, not including source. Run with "java -jar casa.jar ...". (see Generic Installation) This is the minimum distribution you need for developing or using a CASA agent.
casa.jar A Java jar file, including source. Run with "java -jar casa.jar ...". (see Generic Installation) This is the recommended distribution for developing a CASA agent.  You can unpack the jar to get access to the source code.
casa.zip Eclipse/all
(developer)
A complete CASA Eclipse directory structure. Just unzip into your Eclipse workspace and make it a new project.
casa.dmg
Mac OS/X
A Mac disk image containing the install file for the casa.app application file.  (See Mac OS/X Installation)  You can use the distribution to run CASA on a Mac computer, but it does not contain source files.
casa.exe Windows The MS Windows executable file "casa.exe".  (See Windows Installation)
    documentation
casadoc.zip all A zipped copy of the CASA Javadoc html files.  These are also available on line.
CasaUserManual.pdf all The CASA User Manual (PDF).  This is for both users and developers.
tools
casalogviewer.jar generic A CASA-specific viewer for agent-generated log files. Recognizes log records, and allows filtering of tags, strings within records, search, etc. You can install casalogviewer as a CASA extension by moving a copy of casalogviewer.jar into ~/.casa/extensions/. (You can display it by choosing Window | Tabs | Log on a per-agent basis.)  It can also be run stand-alone.
casalogviewer.dmg Mac OS/X
casalogviewer.exe Windows
umlet.jar
generic An viewer and editor for CASA conversations and policy files (.lisp files).  You can install it as a CASA extension by moving a copy of casalogviewer.jar into ~/.casa/extensions/. (You can display it by choosing Window | Tabs | Log on a per-agent basis.)  It can also be run stand-alone.
casaUMLet.dmg Mac OS/X

Example

To execute the script in Fig 1 that runs a LAC, a CooperationDomain, and 3 ChatAgent agents, use the following command line (assuming SC2.lisp is in the current directory) in for the generic (.jar) distribution:

     java -jar casa.jar "(load \"SC2.lisp\")"

For the Mac (.dmg/.app) or the Windows (.exe) distributions or you already running CASA, go to any agent's default interface's "command" tab, and type:

     (load "SC2.lisp")

You can also do the above load command if you are running in text mode (java -jar casa.jar -T) (see the Generic Installation instructions for command-line qualifiers).

Figure 1: "SC2.lisp", a CASA script file to run a CooperationDomain, and three Chat agents.
       ;; Starts a LAC, a cooperation domain, and then N chat agents, and has them all join the CD
       ;; The number of agents is controlled by the let statement -- change "n" 
       (let (
         ; trace tags for all agents
 (trace-tags "warning,msg,msgHandling,kb9,-info,-commitments,-policies9,-lisp,-eventqueue9,-conversations") (trace-code 10) ; bit 1=off, 2=on, 4=to-monitor-window, 8=trace-to-file (sleep-time 2) ; time to sleep between starting dependent agents, adjust for slower machines (n 3) ; n is the number of chat agents to start up (localLAC (ping ":9000")) ) ;; Set the options for the agent running the commandline (agent.options :options.tracing T) (agent.options :options.tracetags trace-tags) ;(SLEEP-IGNORING-INTERRUPTS 8) ;; Start the LAC (if localLAC (agent.println "warning" "LAC already started") (progn (agent.new-agent "casa.LAC" "ResearchLAC" 9000 :process "CURRENT" :trace trace-code :traceTags trace-tags) (sleep-ignoring-interrupts (* 2 sleep-time)) ; give the lac a bit of time start up ) ) ;; Start a MasVis agent ;(agent.new-agent "casa.MasvisAgent" "Masvis" -9005 :LACPORT 9000 :process "CURRENT") ;(sleep sleep-time) ;; Start the CD (agent.new-agent "casa.CooperationDomain" "coolness" 8700 :LACPORT 9000 :process (if localLAC "LAC" "CURRENT")
:priority 0 :trace trace-code :strategy "sc3" :traceTags trace-tags) (sleep-ignoring-interrupts sleep-time) ;; start up N chat agents (do ((i 0 (+ i 1))) ((>= i n)) (agent.new-agent "casa.ChatAgent" (concatenate 'string "Chatty" (write-to-string i)) (+ 6700 i)
:process (if localLAC "LAC" "CURRENT") :priority 0 :PERSISTENT NIL :LACPORT 9000
:strategy "sc3" :trace trace-code :traceTags trace-tags) ;(sleep-ignoring-interrupts sleep-time) ; allow some lag time since agents might take some time to start up ) ;; give the chat agents time to all get started (sleep-ignoring-interrupts (* (+ n 1) sleep-time)) ;; have all the chat agents join the CD (do ((i 0 (+ i 1))) ((>= i n)) (agent.tell (concatenate 'string ":" (write-to-string (+ 6700 i))) "(agent.join \":8700\")") ; (sleep-ignoring-interrupts sleep-time) ) )

CASA Generic Installation

A generic CASA installation requires only the casa.jar file, which you run as follows:

java -jar casa.jar options run-time-command

or, more specificly:

java -jar casa.jar casa.jar [-lLtT?] [-LAC [<port>]] [-NOLAC [<port>]] [-PROCESS [<port>]] [-NOPROCESS] [-HELP] [<lisp-command>]

where:

-L, -LAC, -PROCESS, and -NOPROCESS are mutually exclusive. If none of -L, -LAC, -PROCESS, and -NOPROCESS are present then if a LAC exists at -NOLAC (or 9000), then a CASAProcess is started at 9010 or above, otherwise a LAC is started. Qualifiers can be abbreviated to the shortest unique truncation.

The main class is casa.CASAProcess.

The CASA web site is http://casa.cpsc.ucalgary.ca/. JavaDoc may be found at http://casa.cpsc.ucalgary.ca/javadoc/.

 Mac OS/X Installation

The download is disk image (.dmg) file.  When you open the disk image, run the CASA.mpkg file to install the casa.app in your /Applications directory.

Note: The package is NOT signed.  To run CASA the fist time after installation, you will need to:

  1. browse to your /Applications directory
  2. right click on the CASA.app file
  3. select "open"
  4. agree to open the unsigned content in the ensuing dialog box
After the first time CASA is opened, you will not need to go through this process again.

Windows Installation

The download is the casa.exe executable.  The jar is bundled in this executable file.

Note: The executable is NOT signed.  You will have to accept to run it the first time you invoke it.