|
|
A review of simulated and
micro-world environments
3.1
Tom Smith
12/1/98
|
Return
to Project Planner
Introduction
The Etui
will be a toy where children will learn about
learning. In Mindstorms Seymour Papert wrote ....
"Programming the Turtle starts by
making one reflect on one's own actions and
thinking. And as children move on, they program the
computer to make more complex decisions and find
themselves engaged in reflecting on more complex
aspects of their own thinking."
Both the Etui and the simulation environment will
be, as Papert put it , an
"object-to-think-with"
This is an examination of "virtual world" projects
for consideration with specifying requirements of the
Etui (toy) project's simulation environment.
For the purposes of this report I have looked for
tools that would either aid the nitty-gritty physical
& technical development of the Etui toy project
(used by developers), or child-centred educational
cognitive learning environments that may be themselves
part of the Etui (used by children).
History
When I first started using computers, in
1990, multimedia was what everyone was talking
about. It was the next big thing. Whilst researching
what simulation tools were available, I repeatedly
came across references to a legacy about which I was
completely unaware. I had missed a whole era of
computing where even children were modelling their
ideas, running simulations and reflecting on "why they
went wrong" or "how they could be improved", in short
problem solving.
Computer programmers were using languages like
LISP, SmallTalk or PROLOG to model complex systems,
such as the weather, and most notably, children were
using LOGO (or BASIC) to do similar things. I found,
not surprisingly, that these particular languages
either have current versions, variants or at very
least, strong links to what is going on in the area of
simulation and education today.
One of the most exciting "discoveries" I made was
LOGO. LOGO
is a computer language primarily developed by Seymour
Papert at MIT (See his book MINDSTORMS).
The LOGO motto is "no floor, no ceiling." (meaning ...
it's very easy to learn, but can be used for complex
programs). It is appropriate for use with almost any
age.
StarLogo
is one of the simplest and best LOGO environments I
found, designed especially for use by students.
Click
thumbnail for StarLOGO screen
With LOGO programs you can either control mechanical
robots ("turtles") or virtual on-screen turtles. Using
StarLogo, following the tutorial, it took me all of 2
minutes to write a program that where hundreds of turtles
"exploded across the screen. StarLogo one of the current
implementations of LOGO, there are may others, but
StarLogo is probably the easiest to use, and
simplest.
I strongly recommend that anyone who, like me,
completely missed the era of computing where one
naturally and easily created decentralized systems, such
as bird flocks, traffic jams, and ant colonies should try
this out. Note:It's a good idea to read, or print out the
"Getting Started.pdf" file.
Click
thumbnail for microworlds screen
MicroWorlds
is another excellent LOGO implementation, I recommend
that at very least, you download the required
browser
plug-in, then visit the projects page and also
take a look at Mitchel Resnick and Brian Silverman's
Turning
in circles web page.
Other areas of interest are UCBLogo,
having got the hang of LOGO using StarLogo I then went
on to explore UCBLOGO which has extra commands
enabling the creation of more complex programs, and
quickly created a peculiar
circular flower program.
Recent developments in simulation oriented
programming languages ?
Because not all simulations are created
using "simulation software", instead they are
programmed from scratch, it was necessary to find
out what happened to the languages that could be
said to have had something in common with the likes
of LOGO. Of course, almost any language can be used
to create a simulation, from C++ to BASIC, but
SmallTalk (see Quasar
systems) and Lisp (see Macintosh
Common Lisp) stood out primarily because they
to were used for simulations, the research
departments responsible for the likes of LOGO have
strong links with lisp, StarLOGO is written in LISP
for example. A son-of-lisp language called
Scheme
or the cut down, DrScheme
can be seen being put to use with turtles
but more importantly these types of languages may
be the most appropriate if the Etui is to in any be
be "intelligent".
Both SmallTalk and LISP have become a fully
fledged development environments of which there are
several versions, but some of the educational
philosophy of the 1980's lives on in an Alan Kay
inspired (open-source cross platform ) SmallTalk
version called Squeak,
the hot new star of the Object-Oriented community.
(See screen
shot or read Wired
article)
(There's also an interesting
educational visual SmallTalk called Learning
Works. See also "Building
a Community in Virtual Reality with
LearningWorks".)
Whilst languagues used for artificial
intelligence are compelling (because they have
proved their ability many times) , the practical
problem of program size means that an embedded lisp
such as L-System
may be of interest too, as is Pocket
SmallTalk which runs on a palm-pilot. There is
a squeak port to winCE too.
"[Squeak] would be really
good for applications in small embedded
situations," said Rowledge."It's certainly quite
synergistic with Linux with its openness and
extensibility," he said. He declined to comment
on any specific projects.
WIRED
The
Itsy
is a computer the size of a credit card (which runs
Squeak, will run Java, )running 200MHz on a pair of
AAA batteries, and sports a tiny, high-resolution
LCD touchscreen, a high-quality audio codec, and up
to 64MB of memory looks like an interesting
platform too.
Current simulation tools of
note
Click
thumbnail for full sized taxonomy
Kurt Schmucker's, (Kurt has a background in SmallTalk,
the early Apple computer and most recently in Cocoa,
which we'll look at later) Apple Computers Inc., recently
sent me his taxonomy of simulation software.. I wanted to
find out what, within reason, was state of the art,
explore particularly the Domain Independent area for
tools that a virtual Etui may be made in, but also to
"get a feel" for the other areas to find aspects that may
be desirable for an end-user simulated environment.
The software in this section ranges form the
educational and similar Cocoa &
Agentsheets, the award winning
game SimCity and the highly
technical LabView.
Cocoa
Click
thumbnail for cocoa movie
Cocoa is a visual simulation environment designed for
kids. It is a great example of how simulation software
for kids can be, it's easy to use, powerful and
compelling. Written in Prograph, Cocoa has been used to
create weather simulations, games, probability
experiments etc.
AgentSheets
has lots of similarities with Cocoa, although the
language used Visual AgentTalk is significantly different
allowing the user to create more varied types of
simulations than in Cocoa, at the expense of simplicity.
The sort
of simulations created with AgentsSheets can be
similar to those that we've seen in environments such as
MicroWorlds, see above, but AgentSheets simulations can
be saved as Java applets.
Interestingly enough, there is a branch of AgentSheets
called LEGOSheets
, which has links with the MINDSTORMS
project.
Click
thumbnail for SimCity advert
|
A long time ago I tried SimAnt, a game where
you are in control of an ant colony. I didn't
get it. Recently I went through the tutorial of
SimLife, taking nearly two hours over it, and
although I didn't enjoy the game, it left me
with enough of an understanding of "Sim" games
to have a play with SimCity. I was hooked.
SimCity isn't a simulation tool, in the
strictest sense, I can't create new simulations.
It's a simulation where I can alter the values
of certain parameters, increase land devoted to
heavy industry, create schools, cut back
spending on health or create roads.
In many simulation environments, you create a
model, a simplification of what you want to
test, for example the biodiversity of a pond,
then run a simulation of that model to test it's
validity. Part of the activity in SimCity
however is trying to work out the relationships
between items, does a healthy workforce work
harder, does public transport ease road
congestion, does heavy taxation drive away
businesses?
|
LabView is a scientific development environment. It
has a visual language, speeding development and has lots
of add-ons such as vision recognition, pitch detection,
motors and various sensors all of which could be utilized
in developing a prototype Etui and the simulation
environment.
Note: ROBOLAB,
the Macintosh Mindstorms (, see
conclusion, ) product was written in LabView.
(ROBOLAB has a different visual programming
environment to the windows version and a "Not
Quite C" compiler.)
Other exemplar simulation tools
In this section I look at tools with no direct relevance
to Etui, for instance biology simulation software, but it is
included here to inform the various design criteria of any
Etui simulation. The packages covered are Extend,
GeometersSketchPad,
ActiveChemistry, DroidWorks,
Newton's Aquarium, STELLA
and GenScope.
Extend
Extend is a general purpose simulation tool that can
simulate workflow, electronics, genetics, ecosystems etc.
using the prebuilt libraries. I'd recommend taking a look
at this if you are involved in developing the simulation
to be used by developers.
Click
thumbnail for Extend screen
GeometersSketchPad
Click
thumbnail for GeometersSketchPad screen
Geometers sketchpad is a delightful tool which allows
simulations to be saved as Java applets.
The screen below show how pistons and wheels can work
together.
This small web-based simulation
applet shows perspective vanishing points in action,
showing the sort of simulations achievable.
ActivChemistry
In ActiveChemistry the simulation is the science lab.
Easy to use components, such as thermometer, chemicals,
liquids and a bunsen burner can be dragged into the
workbench and ran.
Click
thumbnail for ActiveChemistry movie
Click
thumbnail for droidworks screen
DroidWorks is a STARWARS game where having assembled a
robot from the parts provided, legs, wheels, batteries
etc., you then are briefed on an aspect of physics, for
example how gears work together. The next part of the
game is to navigate an environment with your robot and
solve the problems set.
This is a great example of learning through fun and of
high quality production values.
There are many universe simulators, and although not
directly relevant to the Etui, I would point to "Newton's
Aquarium's" simplicity as a design pointer for the
Etui.
Click
thumbnail for movie
...and of course the brilliant StarryNight.
Click
thumbnail for larger image
Click
thumbnail for Stella screen
Stella is a powerful general purpose modelling tool.
It is perhaps the only tool with which you can model and
simulate abstract notions effectively.
I sent for the free CD of a multimedia biology-based
learning environment called Fly
A Cell simulation, which was created in the Stella
environment. Fly a cell is an example of multimedia
tutorial approach that may be useful with regards to the
Etui simulation.
Genscope is simulation software to help students learn
about genetics through direct manipulation and
experimentation.
Click
thumbnail for GenScope movie
See also: Creatures
Conclusion
The simulation environments we've seen serve different
purposes, many of which have useful relationships to the
future work of the Etui. The obvious questions that arise
are...
- What do you want to simulate and why?
- Who is the simulation for? Kids, developers or
both?
- Where is the simulation going to run? In the toy, on
the internet or a computer?
- Will Robotics be used?
- Is the simulation connected, via a wire or infra red
to the Etui?
All of the above impact on what tools are used, what is
realistically achievable and ultimately what approach to
simulation is taken. Below are some simulation scenarios
which may bleed into each other but nevertheless provides a
starting point for attempting to answer the questions
above.
Simulation scenarios
Simulation runs on a computer.
|
Computer simulation runs on computer and
controls the Etui
|
Computer simulation runs on a computer and is
controlled via the inputs on the Etui
|
Computer simulates Etu's knowledge
|
End user simulation
|
Physical, electrical, mechanical or logic
simulation
|
Unconnected
|
Connected or not
|
Connected
|
1 Computer simulation controls toy.
With a LOGO pedigree, Mindstorms is one of the most
interesting examples of a computer being used to control
modular lego toys. Below is an example of the (windows)
visual programming language used , which is downloaded via
infrared to the brick toy (RCX). I believe you can also
program the RCX with BASIC. Take a look at this Shockwave
movie to see how the toy, the programming and the
computer language all fit together. Remember also that
AgentSheets has links to
Mindstorms too.
Whilst
mindstorms has captured much of the limelight, Crickets
are also programmable lego toys, but run their own version
of LOGO called, cricketLOGO, they are definitely worth
exploring. See also "Using
Lego Mindtorms on a Mac" and (windows) textual interface
BotCode.
2 Toy controls simulation
At MIT, the Swamped
project is an interactive experience in which instrumented
plush toys are used as a tangible, iconic interface for
directing autonomous animated characters. For example, the
guest could have the character wave at another character by
waving its arm, make it squawk by squeezing it, or direct
the character's attention by moving the stuffed animal's
head.
Below is an example a world that the virtual toy may
inhabit, controlled via the cuddly physical toy. It would be
interesting to explore using the Etui as an input device for
an on screen simulation. Movement, orientation, receipt of
audio stimulus or buttons pressed could be represented in a
simulation, perhaps in a "saveable" (remember this) or
editable, "yes that's right but keep on doing it" state.
Click
thumbnail for Swamped screen
3 Simulation unrelated.
Click
thumbnail for Full sized City
The
notion of a "running simulation", as in SimCity, may be
an important direction for any Etui simulation to take
...where the parameters are editable, and part of the
"fun" is developing a model of how the simulation fit's
together is exactly the formula of at least one other hit
toy recently
A simulation may provide the possibility to
interact in ways not practical with the actual Etui, for
instance, in an environment where friction doesn't exist
or gravity is editable. Perhaps "flocking" could be
simulated, working with hundreds of communicating Etuis,
as in Boids,
or merely simulate fun environments, like the Incredible
Machine (see below)
Click
for larger screen
In the case of PetPark
(see below), the simulation is LOGO like and "lives" on the
internet, this has the advantage of the server being able to
asynchronous process the data collected, and also makes
access to your virtual etui dependent on web clients, such
as a set top box for example. Whether the simulation,
"lives" on the net, or on the child's computer is irrelevant
compared to how the child's simulations may end up as
communicative artifacts.
Click
thumbnail for PetPark screen
As we saw in AgentSheets and
Geometer's SketchPad, the
ability to save as Java instantly allows children to share
their ideas with each other. This is extremely desirable for
many reasons. It gives children an audience for their
simulation work, it creates community, provokes discussion
and develops the communicative (external) side of what may
have been a reflective (internal) learning experience.
Many of the simulations take a "third-person"
perspective, where you are watching your toy in the
simulation, in the case of LOGO turtles, from above. It may
be interesting to explore the "single-person" perspective,
as in flight simulation games or shoot-em-ups such as DOOM
(see above). Especially if the Etui has a camera.
4. Physical simulation
Programming problems such as finding, recognizing and
moving, Physical problems such as voltage, construction and
wiring, even human-centred problems such as terminology,
layout and design, should be "tested" in simulation as much
as possible. It's worth reading about the COG project, and
taking particular note of Marvin
Minsky's (ill expressed but interesting)
reservations.
5 Simulation models knowledge, a proposal
Although I wouldn't advocate not attempting a "Simulation
controls robot" approach simply because the Mindstorms team,
or the Cricket project have made such a good job of it, I
would hope that the Etui project, because of technical
limitations " doesn't end up" being stunningly similar. For
me, any Etui simulation should focus on constructivist
ideas, on the "object-to-think-with" quote, rather than
"building up" from current physical limitations.
It's worth noting that none of the simulation
environments run on anything smaller than a PC and any
connected devices, such as turtles, bricks or crickets are
merely extensions of the PC.
With that in mind, I'd like to propose an idea that may
be helpful in the development of what the simulation should
be. Imagine a simulation that models the Etui's "knowledge"
in some (perhaps abstract) visual, editable way. It would be
SimCity -ish, except instead of building a City, the
simulation would involve building relationships, memory and
understanding. As mentioned in reference to SimCity,
Tamagotchi's and Furbys, part of the activity would be
working out exactly what was going on, what was related to
what and what causes has effects.
This approach has many advantages, the Etui could play
the part of a data collector, with the computer processing
and displaying the recently acquired data This has the
constituent parts, the computer and the Etui playing to
their strengths. The computer is responsible for artificial
intelligence and representation, and the Etui only needs a
small scale operating system.
This Etui-brain simulation inherently has links
with meta-learning and play. It could be fun.
For internal use only
Demo's,
working versions, bookmarks, papers and associated
media of the software mentioned available in this
paper are internally available on our Software
server.
The resources are
also being made available as annotated, keyworded
items on the Sim
site.
|