Web based simulation
Encyclopedia
The term web-based simulation (WBS) emerged in 1996, and is typically used to denote the invocation of computer simulation
Computer simulation
A computer simulation, a computer model, or a computational model is a computer program, or network of computers, that attempts to simulate an abstract model of a particular system...

 services over the internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

, specifically through a web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

.
Increasingly, the web is being looked upon as an environment for providing modeling and simulation applications, and as such, is an emerging area of investigation within the simulation community.

Application

Web-based simulation is used in several contexts:
  • In e-learning
    E-learning
    E-learning comprises all forms of electronically supported learning and teaching. The information and communication systems, whether networked learning or not, serve as specific media to implement the learning process...

    , various principles can quickly be illustrated to students by means of interactive computer animation
    Computer animation
    Computer animation is the process used for generating animated images by using computer graphics. The more general term computer generated imagery encompasses both static scenes and dynamic images, while computer animation only refers to moving images....

    s, for example during lecture demonstrations and computer exercises.
  • In distance learning, web-based simulation may provide an alternative to installing expensive simulation software on the student computer, or an alternative to expensive laborative equipment.
  • In software engineering
    Software engineering
    Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

    , web-based emulation allows application development and testing on one platform for other target platforms, for example for various mobile operating system
    Mobile operating system
    A mobile operating system, also known as a mobile OS, mobile software platform or a handheld operating system, is the operating system that controls a mobile device or information appliance—similar in principle to an operating system such as Windows, Mac OS X, or Linux distributions that controls a...

    s,. or mobile web browsers, without the need of target hardware or locally installed emulation software.
  • In online computer games, 3D environments can be simulated, and old home computer
    Home computer
    Home computers were a class of microcomputers entering the market in 1977, and becoming increasingly common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a single nontechnical user...

    s and video game console
    Video game console
    A video game console is an interactive entertainment computer or customized computer system that produces a video display signal which can be used with a display device to display a video game...

    s can be emulated, allowing the user to play old computer games in the web browser.

Client vs server side approaches

Web-based simulation can either take place on the server-side or on the client-side. In server-side simulation, the numerical calculations and visualization  (generation of plots and other computer graphics) is carried out on the web server, while the interactive graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 (GUI) often partly is provided by the client-side, for example using server-side scripting
Server-side scripting
Server-side scripting is a web server technology in which a user's request is verified by running a script directly on the web server to generate dynamic web pages. It is usually used to provide interactive web sites that interface to databases or other data stores. This is different from...

 such as PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 or CGI scripts, interactive services based on Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

 or a conventional application software remotely accessed through a VNC Java applet.

In client-side simulation, the simulation program is downloaded from the server side but completely executed on the client side, for example using Java applets, Flash animations, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, or some mathematical software viewer plug-in. Server-side simulation is not scalable for many simultaneous users, but places fewer demands on the user computer performance and web-browser plug-ins than client-side simulation.

The term on-line simulation sometimes refers to server-side web-based simulation, sometimes to symbiotic simulation, i.e. a simulation that interacts in real-time with a physical system.

The upcoming cloud computing
Cloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....

 technologies can be used for new server-side simulation approaches. For instance, there are multi-agent simulation applications which are deployed on cloud computing instances and act independently. This allows simulations to be highly scalable.

Existing tools

  • AgentSheets
    AgentSheets
    AgentSheets is an educational Cyberlearning tool to create Web-based simulation games. AgentSheets is used worldwide to teach students programming and related information technology skills through game design...

     - graphically programmed tool for creating web-based The Sims
    The Sims
    The Sims is a strategic life-simulation computer game developed by Maxis and published by Electronic Arts. Its development was led by game designer Will Wright, also known for developing SimCity...

    -like simulation games, and for teaching beginner students programming.
  • AnyLogic
    AnyLogic
    -History of AnyLogic:In the beginning of 1990s there was a big interest in the mathematical approach to modeling and simulation of parallel processes. This approach may be applied to the analysis of correctness of parallel and distributed programs...

     - a graphically programmed tool that generates Java code for discrete event simulation
    Discrete Event Simulation
    In discrete-event simulation, the operation of a system is represented as a chronological sequence of events. Each event occurs at an instant in time and marks a change of state in the system...

    , system dynamics
    System dynamics
    System dynamics is an approach to understanding the behaviour of complex systems over time. It deals with internal feedback loops and time delays that affect the behaviour of the entire system. What makes using system dynamics different from other approaches to studying complex systems is the use...

     and agent-based models
  • Easy Java Simulations
    Easy Java Simulations
    EJS, or Easy Java Simulations, is an open-source software tool, part of the Open Source Physics project, designed for the creation of discrete computer simulations....

     - tool for modelling and visualization of physical phenomenons, that automatically generates Java code from mathematical expressions.
  • ExploreLearning
    ExploreLearning
    ExploreLearning is a Charlottesville, Virginia-based company which operates a large library of interactive online simulations for mathematics and science education in grades 3–12. These simulations are called Gizmos...

     Gizmos - a large library of interactive online simulations for math and science education in grades 3-12.
  • GNU Octave web interfaces - MATLAB
    MATLAB
    MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

     compatible open-source software
  • Google Chart API
    Google Chart API
    The Google Chart API is a tool that lets people create a chart from some data and embed it in a web page. Google creates a PNG image of a chart from data and formatting parameters in an HTTP request...

     - for the generation of embedded charts in web pages
  • Hughes Bennett Education - provides free web interface to simulation tools
  • List of online spreadsheets
  • Nanohub
    Nanohub
    nanoHUB.org is science cyberinfrastructure comprising community-contributed resources and geared toward educational applications, professional networking, and interactive simulation tools for nanotechnology...

     - web 2.0 in-browser interactive simulation of nanotechnology
    Nanotechnology
    Nanotechnology is the study of manipulating matter on an atomic and molecular scale. Generally, nanotechnology deals with developing materials, devices, or other structures possessing at least one dimension sized from 1 to 100 nanometres...

  • NetLogo
    NetLogo
    NetLogo is a multi-agent programming language and integrated modeling environment.-About:NetLogo was designed in the spirit of the Logo programming language to be "low threshold and no ceiling," that is to enable easy entry by novices and yet meet the needs of high powered users. The NetLogo...

     - a multi-agent programming language and integrated modeling environment that runs on the Java Virtual Machine.
  • OpenPlaG
    OpenPlaG
    openPlaG is a PHP based function graph plotter for the use on websites. It was first released in April 2006. In June 2007 its source code was published under the GNU GPL license. PlaG is an abbreviation for Plot a Graph....

     - PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

     based function graph plotter for the use on websites
  • OpenEpi
    OpenEpi
    OpenEpi is a free, web-based, open source, operating system-independent series of programs for use in epidemiology, biostatistics, public health, and medicine, providing a number of epidemiologic and statistical tools for summary data. OpenEpi was developed in JavaScript and HTML, and can be run in...

     - web-based packet of tools for biostatistics
    Biostatistics
    Biostatistics is the application of statistics to a wide range of topics in biology...

    .
  • Recursive Porous Agent Simulation Toolkit (Repast) - agent-based modeling and simulation toolkit implemented in Java and many other languages.
  • SAGE - open source numerical analysis software with web-interface, based on the Python programming language
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

    .
  • Simulation123
    Simulation123
    Simulation123 is a not-for-profit global group to support simulation enthusiasts. Developed by Dr. James Byrne and Dr. Paul Liston from the University of Limerick in Ireland as an academic exercise, it is a centralised web-space where users can meet to discuss anything related to simulation...

     - a tool supporting web-based simulation documentation, a category of web-based simulation
  • Social simulation
    Social simulation
    Social simulation is a research field that applies computational methods to study issues in the social sciences. The issues explored include problems in sociology, political science, economics, anthropology, geography, archaeology and linguistics ....

     - review of computational sociology and agent based systems.
  • StarLogo
    StarLogo
    StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at MIT Media Lab and MIT Teacher Education Program in Massachusetts. It is an extension of the Logo programming language, a dialect of Lisp...

     - agent-based simulation language written in Java.
  • VisSim viewer
    VisSim
    VisSim is a visual block diagram language for simulation of dynamical systems and model based design of embedded systems. It is developed by Visual Solutions of Westford, Massachusetts....

     - graphically programmed data flow diagram
    Data flow diagram
    A data flow diagram is a graphical representation of the "flow" of data through an information system, modelling its process aspects. Often they are a preliminary step used to create an overview of the system which can later be elaborated...

    s for simulation of dynamical systems
  • webMathematica and Mathematica Player - a computer algebra system and programming language.
  • MapleNet - Online math API and computer algebra system

See also

  • Simulated reality
    Simulated reality
    Simulated reality is the proposition that reality could be simulated—perhaps by computer simulation—to a degree indistinguishable from "true" reality. It could contain conscious minds which may or may not be fully aware that they are living inside a simulation....

     - overview of philosophical arguments related to simulated reality.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK