About Link
Schools Link
Partners Link
News Link
Home Link

DELIVERABLES

A review of simulated and micro-world environments 3.1

Tom Smith 12/1/98

This review is to help inform the development of a simulation environment as part of the Etui project, and aid the selection of a programming environment in which to build a simulation.
Introduction
Potted History
Current Tools
Other Exemplary simulation tools
Conclusions

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

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.

 

 


SimCity

 

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

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

 


DroidWorks


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.

 

 


Newton's Aquarium

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

 


STELLA


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

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.
Kids n ROBOLAB

 

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

 

TamagotchiThe 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.

About | Schools | Partners | News | Home | Partners Only