Quicksilver Release Notes 1.2s ------------------------------ Content 1. File List 2. Online Tool 3. Applet Runtime 4. Movie Generation 5. Code Changes 1. File List ============ This is a minor maintenance release of quicksilver 1.2. The folder contains the following items: online_tool_12s.jar The binaries/sources of the online environment. movie_tool_12s.jar The binaries/sources of the movie environment. samples_12s.zip The binaries/sources of the samples. appletdemo_12s.html Demo page with a quicksilver applet. moviedemo_12s.mov Demo movie generated from quicksilver. For the course documentation please take a look at the following site: http://burse.interway.ch/abs The documentation is currently only in german and it is now based on version 1.2s. For questions concerning quicksilver please contact: Jan Burse 2. Online Tool ============== You have first to define your own agents and viewers which will be derived from classes such as eawag.model.Agent and xlog.component.AbstractViewer. You find these classes in the online_tool_12s.jar archive. After that you have to build and execute a model file. For this purpose you can use the quicksilver online tool and load save model files. The tool can be started from the command line as follows: java -cp online_tool_12s.jar;\ \ xlog.online.OnlineFrame Model files have the extension .mdl. The extension indicates one of the following formats: .mdl: Tree Agent Model. Private fields are not accessed. Structures cannot be shared and cyclic. Format is ascii. 3. Applet Runtime ================= You can also execute a model file in an applet. For this purpose you have to run quicksilver as an applet. From a HTML page this can be done as follows: autorun="" clazz="" rsc=""> -- or -- autorun="" src=""> See also appletdemo_12r.html. 4. Movie Generation =================== If you use the movie_tool_12s.jar instead of the online_tool_12s.jar you can generate movies from your simulations. But you have to download the JMF library from SUN first. To start the movie tool use the following command: java -cp movie_tool_12r.jar;jmf.jar;\ \ xlog.movie.MovieFrame You can the use the menu Simulation | Make Movie to generate a movie. The movie is generated from the actual simulation by taking the following parameters: Size: The movie is generated in the size that the active viewer currently has. Max: The movie is generated for step 0 till step max where max is set in the simulation parameters. Seed: The movie is generated for the actual seed that is used. FrameRate: The frame rate is computed as 1000 / refresh where refresh is set in the simulation parameters. SkipSteps: The number of steps that are skipped between each frame is computed as refresh / step where refresh and step are set in the simulation parameters. See also moviedemo_12s.mov. 5. Code Changes =============== AbstractViewer/Agent -------------------- It is now possible to temporarily generate data for viewing. The agent has now a draw/undraw api. This api is called by viewers. Already used in the monte carlo evaluators. Table ----- There is a class BlankTable now where you can put a tool bar in. Also one column of the table can now be sorted by clicking on the column name. Chart ----- There is a class BlankChart now where you can put a tool bar in. Also all the monte evaluation viewers have been adapted to use this class. TextScroll ---------- Should accept carriage return now. AbstractCloner -------------- Introduced the method isConcretDerived which had multiple similar implementations scattered around the code. Its now static, but we can make it dynamic in the future, so that it reflects also private etc.. criteria of a class, so that we can sure that createInstance will succeed if this returns true. Currently not yet fully guaranteed. Swarm/Agent ----------- The api register/unregister has been removed from swarm, although editing should be now a little slower, as leave() must always find out the agent index first. We have also implemented more settes and getters. Bug/Grid: --------- Example that used already the register/unregister api, which is now using the join/leave api to handle redundant access path such as the bugs arry. We have also provided more setters and getters. The getDepiction() method is respected by the viewers. Have fun, Jan Burse, 12. Mai 2004