Web-Based Simulation for Science and Education

The Simulation for Education (Sim4edu) project website supports web-based simulation with open source technologies for science and education. It provides both simulation technologies and a library of educational simulation examples. Its goal is to support various styles of modeling and simulation, including discrete event simulation, NetLogo-style grid space models (and Cellular Automata models), and agent-based simulation.

As opposed to traditional simulation technologies, web-based simulations, typically implemented with JavaScript, can be executed in any web browser, not just on desktop computers, but also on mobile devices like tablets and smartphones. This allows sharing simulations by means of simple web links and makes them easily accessible to anyone anywhere.

Examples of ad-hoc simulation programs (not based on any paradigm):

  1. Elevator Saga: Learning how to code by programming an elevator.
  2. JavaScript Ants: A simulation about ants finding food and bringing it back to the nest.

Examples of Continuous Simulation (DES) with fixed-increment time progression:

  1. Solar System (using CSS 3D animations)
  2. Galaxy: A spiral galaxy with 5000 stars (by Jonas Wagner, 2010-08-18).

Examples of Discrete Event Simulation (DES) with next-event time progression:

  1. Inventory Management: An inventory management system with a continuous replenishment policy based on a reorder point.
  2. DriveThru: A model of a drive through restaurant as a system with order processing activities performed at three service points with queues: the order taking at the menu board, the order preparation at the kitchen and the order pickup at the pickup window.

Examples of Grid Space Models with fixed-increment time progression:

  1. Schelling Segregation Model: A residential area is populated by residents belonging to some group; periodically, all residents check if they are content with their neighborhood, based on their degree of tolerating neighbors of a different group; if they are not, they move to a location where they are content, or leave the area if they don't find such a location.