swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ControlPanel puzzle (1.2)


From: Alex Lancaster
Subject: Re: ControlPanel puzzle (1.2)
Date: 29 Jul 1998 03:40:14 -0600

>>>>> "RR" == Rick Riolo <address@hidden> writes:

RR> I have observered this (or something very similar...I don't recall
RR> the exact details) for a long time (ie back through several
RR> versions).  I have observered it in heatbugs and in my own sims.
RR> I reported it, but I can't recall the exact explantion someone
RR> from the swarm group gave me; as I recall they didn't think it was
RR> a bug.  I still think that while it may not be a "bug", its a
RR> problematic feature, because it violates the principle of least
RR> surprise.  (ie, I have had several users who notice it and think
RR> its a bug.)  - r

Yes, whilst not strictly a bug, it is kind of weird - and it has been
with Swarm for a while now.  Like 90% of Swarm users (which I was
before working on Swarm) most of the time I've actually ignored it -
as Doug Donaldson points out - it won't affect your simulation
results.

However, I agree that least surprise is better, and we will try to get
a fix in as soon as we can.

Out of curiosity - has anyone looked at the source for Control Panel
and attempted to do their own debugging of this problem?  I'd have
thought that at least one sufficiently frustrated user would probably
have done this by now (given that it's been around for a while!)

On the `Next' button issue:

Since it was introduced before my time, I will probably be corrected
by Glen or Roger on this one.  But, my understanding of the intended
difference between `Next' and `Step' is to be the analogous to the
difference between stepping to the next function at the current level
in `gdb' (which is like `Next') and entering that function (`Step').

In the Swarm case - `Step' would be like stepping into an activity
that had a more fine-grained schedule, whilst `Next' would keep you at
that level of granularity.

That's all theory, unfortunately.  At the moment there should be no
effective functional difference.  If you look at the source in
ControlPanel.m (in the -startInActivity function), here's what
pressing step actually does:

 else if (controlState == ControlStateStepping)
        {
          [activityID step];
          [self setStateStopped];
        }     

* i.e. `Step' - just calls step on the current activity:
 
 else if (controlState == ControlStateNextTime)
        {
          [activityID stepUntil: [activityID getCurrentTime]+1 ];
          [self setStateStopped];
        }                              
 
* i.e. `Next' - just steps until the current time is advanced by one (since
Swarm schedules at the moment have the single atomic unit of time -
that is, unless you do multi-level scheduling by hand, of course) this
reduces to the same case as above.

 --- Alex

-- 
  Alex Lancaster         |   e-mail: address@hidden
  Swarm Developer        |      web: http://www.santafe.edu/~alex
  Santa Fe Institute     |      tel: +1-(505) 984-8800 (ext 242)
------------------------------------------------------------------

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.
                  ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]