Thank you for your help.

1. I did recompile Tutorial2 and I had the same error. So, I download
jsdk1.4.2 and recompile it again and it went well. So, I believe it was due
to a bug in jsdk1.4.1.

2. The controller is indeed an interface. I was confused by the diagram.


----- Original Message -----
From: "Sean Luke" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Wednesday, March 31, 2004 4:55 PM
Subject: Re: Is Controller an interface or class?

> On Mar 31, 2004, at 2:52 PM, Xun Jiang wrote:
> > I just downloaded mason (version 3) and I am trying to read mason
> > tutorial2
> > when I encounter two problems:
> >
> > 1. Tutorial2 has a run-time error (on WIndows2000 with java1.4.1):
> >
> > java.lang.IllegalAccessError: tried to access method
> > java.lang.Object.clone
> > ()Ljava/lang/Object; from class sim.field.grid.IntGrid2D
> > ......
> There's got to be something wrong with the JVM here: it's standard
> procedure to be able to clone arrays.  You might try recompiling the
> code first using your VM's JDK and see what happens.
> I can say that we run successfully on 2000 and XP without any problems
> (as well as OS X and Linux).
> Can anyone else verify this problem?
> > 2. Controller (in sim/display) is defined as an interface, but in
> > Tutorial2
> > source code, it is used as a class (The mason diagram shows it as a
> > concrete class). Why?
> Documentation error in the diagram, I think.  It's an interface.
> However Tutorial2 does *not* use it as a class.  It uses it as an
> interface.  You can always cast things into interfaces, no problem.
> Sean