[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon May 23 23:22:49 2002 
Subject:New email list: simagent-users 
From:Aaron Sloman See text for reply address 
Volume-ID:1020423.01 

[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]

Since the number of users of the SimAgent toolkit
    http://www.cs.bham.ac.uk/~axs/cogaff/simagent.html

is growing, it seemed to be appropriate to set up an email list for
them. If you are using the toolkit or just a part of it, e.g.
poprulebase,

    http://www.cs.bham.ac.uk/research/poplog/newkit/prb/help/poprulebase

or rclib,
    http://www.cs.bham.ac.uk/research/poplog/rclib/help/rclib

Then you may wish to join the list.

I expect it to have low traffic, and to be used mainly for

    Announcements of changes
    Requests for help or information
    Replies to requests for help or information
    Discussions regarding possible further developments.
    Reports on applications or projects using the toolkit, and
        offers of libraries, extensions, etc.

In order to join, send a message to

    majordomo AT cs.bham.ac.uk

containing just one line:

    subscribe simagent-users

To send a message to the list, address it to

    simagent-users AT cs.bham.ac.uk

In both cases replace ' AT ' with '@' of course.

Recent changes to the various components of the toolkit are reported
here:

    http://www.cs.bham.ac.uk/research/poplog/newkit/prb/help/prb_news
    http://www.cs.bham.ac.uk/research/poplog/newkit/sim/help/sim_agent_news
    http://www.cs.bham.ac.uk/research/poplog/rclib/help/rclib_news

The code (which requires poplog of course) can be downloaded from:

    http://www.cs.bham.ac.uk/research/poplog/newkit.tar.gz
        (636683  bytes)

    http://www.cs.bham.ac.uk/research/poplog/rclib.tar.gz
        (720345 bytes)

The most recently announced changes are as follows:


1. Nick Hawes discovered that a syntactic check for extra closing
brackets was not being done in the code in LIB POPRULEBASE that reads
Pop-11 expressions in declarations using LVARS. The same problem can
affect WHERE conditions, and DLOCAL declarations.
This has been fixed, as described in

    HELP PRB_NEWS

I checked the new LIB poprulebase on a variety of programs, and
discovered previously undetected spurious occurrences of ")" in a couple
of places in one of the teach files (sim_sheepdog.p). You may also find
such previously undetected syntactic errors. In some cases the extra
bracket was previously just ignored, causing no problems. In some cases
it produced an obscure run-time error. (Which is how Nick found it.)
Now it always produces a compile time (syntax) error message.

2. Another change installed a couple of months ago, also suggested by
Nick, makes programs running poprulebase a tiny bit more self-conscious,
for tracing purposes or other purposes.

The new version makes it possible for a running program to detect in the
middle of a run of the rule interpreter that the current ruleset has
been switched, either because it was switched in a rulefamily or because
it was changed by an action like
    [PUSHRULES <ruleset>]
    [POPRULES]

New features:
  prb_family_name
      global variable. False or possibly given name of rulefamily if
      there is one 'running'.

  prb_trace_ruleschanged
      global variable. If set true then the tracing facility is turned
          on, otherwise no new tracing happens. False by default.

  prb_ruleschanged_trace(ruleset, family);
      New user definable procedure run if prb_trace_ruleschanged is
      true and if ruleset changes. It is run just before the
      interpretation of the ruleset starts. Does nothing by default.

      For the default definition see LIB poprulebase. You can copy it
      and uncomment the last line to observe its effects.

  I've put an entry in HELP PRB_NEWS, and updated HELP POPRULEBASE.

3. Manuela Viezzer found a problem in LIB SIM_HARNESS. This library
makes it easy to set up a simulation with graphical interface, as in
TEACH SIM_FEELINGS

The problem is that sim_harness changed some of the default sim_agent
tracing procedures to do nothing for instances of sim_object, on the
assumption that those would be 'passive' objects:

   define :method sim_agent_actions_out_trace(object:sim_object);
   define :method sim_agent_rulefamily_trace(object:sim_object, rulefamily);
   define :method sim_agent_endrun_trace(object:sim_object);
   define :method sim_agent_terminated_trace(object:sim_object
                                       number_run, runs, max_cycles);

This can be mystifying for someone who has been using the default values
without sim_harness, and then starts using sim_harness, and has
non-passive instances of sim_object which are no longer traced.

The original decision was a mistake arising from the fact that
sim_harness was invented (with help from Brian Logan) by removing and
abstracting code ferom a longer and more complex version of the
TEACH sim_feelings file.

The sim_harness library now leaves those methods unchanged, and instead
the file TEACH sim_feelings file redefines them to do nothing.

So if you are using sim_harness, and you fetch the latest version of the
toolkit you may find you get some unexpected new trace printing caused
by one or more of the above, which you can redefine to do nothing.

In making that change I discovered that sim_harness had also altered the
last procedure sim_agent_terminated_trace in a manner that could cause a
buggy interaction. If you decided to re-define it look first at the
version in LIB SIM_AGENT.

4. A library suggested by Catriona Kennedy makes it much easier to track
down errors due to mis-typing something in a rule condition or action.
See
        HELP PRB_CHECKPATTERNS
        LIB PRB_CHECKPATTERNS,

Aaron
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk   (ReadATas@please !)
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/ (And free book on Philosophy of AI)
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html