Web-based simulation (WBS) is the invocation of
computer simulation
Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be dete ...
services over the
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web se ...
, specifically through a
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
.
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
Educational technology (commonly abbreviated as edutech, or edtech) is the combined use of computer hardware, software, and educational theory and practice to facilitate learning. When referred to with its abbreviation, edtech, it often refer ...
, various principles can quickly be illustrated to students by means of interactive
computer animation
Computer animation is the process used for digitally generating animations. The more general term computer-generated imagery (CGI) encompasses both static scenes ( still images) and dynamic images ( moving images), while computer animation re ...
s, for example during lecture demonstrations and computer exercises.
* In
distance learning
Distance education, also known as distance learning, is the education of students who may not always be physically present at a school, or where the learner and the teacher are separated in both time and distance. Traditionally, this usually i ...
, web-based simulation may provide an alternative to installing expensive simulation software on the student computer, or an alternative to expensive laboratory equipment.
* In
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ' ...
, web-based emulation allows application development and testing on one platform for other target platforms, for example for various
mobile operating system
A mobile operating system is an operating system for mobile phones, tablet computer, tablets, smartwatches, smartglasses, or other non-laptop personal computing, personal mobile computing devices. While computers such as typical laptops are "mobi ...
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 computers and
video game console
A video game console is an electronic device that outputs a video signal or image to display a video game that can be played with a game controller. These may be home consoles, which are generally placed in a permanent location connected to ...
s can be emulated, allowing the user to play old computer games in the web browser.
* In
medical education
Medical education is education related to the practice of being a medical practitioner, including the initial training to become a physician (i.e., medical school and internship) and additional training thereafter (e.g., residency, fellowship, ...
,
nurse education
Nurse education consists of the theoretical and practical training provided to nurses with the purpose to prepare them for their duties as nursing care professionals. This education is provided to student nurses by experienced nurses and other med ...
and allied health education (like
sonographer
A sonographer is an allied healthcare professional who specializes in the use of ultrasonic imaging devices to produce diagnostic images, scans, videos or three-dimensional volumes of anatomy and diagnostic data. The requirements for clinical p ...
training), web-based simulations can be used for learning and practicing clinical healthcare procedures. Web-based procedural simulations emphasize the cognitive elements such as the steps of the procedure, the decisions, the tools/devices to be used, and the correct anatomical location.
Client-side vs server-side approaches
Web-based simulation can take place either on the server side or on the client side. In ''server-side simulation'', the numerical calculations and
visualization
Visualization or visualisation may refer to:
* Visualization (graphics), the physical or imagining creation of images, diagrams, or animations to communicate a message
* Data visualization, the graphic representation of data
* Information visualiz ...
(generation of plots and other computer graphics) is carried out on the web server, while the interactive
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
(GUI) often partly is provided by the client-side, for example using
server-side scripting
Server-side scripting is a technique used in web development which involves employing scripts on a web server which produces a response customized for each user's (client's) request to the website. The alternative is for the web server itself ...
such as
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
or
CGI script
In computing, Common Gateway Interface (CGI) is an interface specification that enables web servers to execute an external program, typically to process user requests.
Such programs are often written in a scripting language and are commonly ref ...
s, interactive services based on
Ajax
Ajax may refer to:
Greek mythology and tragedy
* Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea
* Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris
* ''Ajax'' (play), by the ancient Gree ...
or a conventional application software remotely accessed through a
VNC
Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the ...
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
Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from ...
,
Flash animation
Adobe Flash animation or Adobe Flash cartoon (formerly Macromedia Flash animation, Macromedia Flash cartoon, FutureSplash animation, and FutureSplash cartoon) is an animation that is created with the Adobe Animate (formerly Flash Professional) ...
s,
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
, 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 is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over multi ...
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 was one of the first modern block-based programming language for kids. The idea of AgentSheets was to overcome syntactic challenges found in common text-based programming languages by using drag and drop mechanisms conceptualizing com ...
– graphically programmed tool for creating web-based ''
The Sims
''The Sims'' is a series of life simulation video games developed by Maxis and published by Electronic Arts. The franchise has sold nearly 200 million copies worldwide, and it is one of the best-selling video game series of all time.
The games ...
''-like simulation games, and for teaching beginner students programming.
*
AnyLogic
AnyLogic is a multimethod simulation modeling tool developed by The AnyLogic Company (former XJ Technologies). It supports agent-based, discrete event, and system dynamics simulation methodologies.Christopher W. Weimer,
J. O. Miller, Raymond R ...
– a graphically programmed tool that generates Java code for
discrete-event simulation
A discrete-event simulation (DES) models the operation of a system as a (discrete) sequence of events in time. Each event occurs at a particular instant in time and marks a change of state in the system. Between consecutive events, no change in t ...
,
system dynamics
System dynamics (SD) is an approach to understanding the nonlinear behaviour of complex systems over time using stocks, flows, internal feedback loops, table functions and time delays.
Overview
System dynamics is a methodology and mathematic ...
and
agent-based model
An agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) in order to understand the behavior of a system and what ...
s
*
Easy Java Simulations – a tool for modelling and visualization of physical phenomenons, that automatically generates Java code from mathematical expressions.
*
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 called 'Gizmos'. ExploreLearning also makes Reflex, an online ...
Gizmos – a large library of interactive online simulations for math and science education in grades 3–12.
*
FreeFem++
FreeFem++ is a programming language and a software focused on solving partial differential equations using the finite element method. FreeFem++ is written in C++ and developed and maintained by Université Pierre et Marie Curie and Laboratoire J ...
Javascript Version – FreeFem++
is a free and open source PDE solver using the finite element method.
*
GNU Octave web interfaces –
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
compatible open-source software
*
Lanner Group Ltd
Lanner Group Ltd is a software company specialising in simulation software such as discrete event simulation and predictive simulation, headquartered in Birmingham, UK. The business develops, markets and supports business process simulation an ...
L-SIM Server – Java-based
discrete-event simulation
A discrete-event simulation (DES) models the operation of a system as a (discrete) sequence of events in time. Each event occurs at a particular instant in time and marks a change of state in the system. Between consecutive events, no change in t ...
engine which supports model standards such as
BPMN
Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model.
Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
2.0
*
Nanohub
nanoHUB.org is a science and engineering gateway comprising community-contributed resources and geared toward education, professional networking, and interactive simulation tools for nanotechnology. Funded by the United States National Science F ...
– web 2.0 in-browser interactive simulation of
nanotechnology
Nanotechnology, also shortened to nanotech, is the use of matter on an atomic, molecular, and supramolecular scale for industrial purposes. The earliest, widespread description of nanotechnology referred to the particular technological goal o ...
*
NetLogo
NetLogo is a programming language and integrated development environment (IDE) for agent-based modeling.
About
NetLogo was designed by Uri Wilensky, in the spirit of the programming language Logo, to be "low threshold and no ceiling". It teaches ...
– a multi-agent programming language and integrated modeling environment that runs on the Java Virtual Machine
*
OpenPlaG
openPlaG is a PHP based function graph plotter for 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.
The current version 3.2 of ...
–
PHP
PHP is a General-purpose programming language, general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementati ...
-based function graph plotter for the use on websites
*
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 wa ...
– web-based packet of tools for
biostatistics
Biostatistics (also known as biometry) are the development and application of statistical methods to a wide range of topics in biology. It encompasses the design of biological experiments, the collection and analysis of data from those experime ...
*
Recursive Porous Agent Simulation Toolkit (Repast) – agent-based modeling and simulation toolkit implemented in Java and many other languages
*
SageMath
SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation") is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, numerical analysis, nu ...
– open-source numerical-analysis software with web interface, based on the
Python programming language
Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.
Python is dynamically-typed and garbage-collected. It supports multiple programming par ...
*
SimScale
SimScale is a computer-aided engineering (CAE) software product based on cloud computing. SimScale was developed by SimScale GmbH and allows computational fluid dynamics, finite element analysis and thermal simulations. The backend of the platfo ...
– web-based simulation platform supporting
computational fluid dynamics
Computational fluid dynamics (CFD) is a branch of fluid mechanics that uses numerical analysis and data structures to analyze and solve problems that involve fluid flows. Computers are used to perform the calculations required to simulate t ...
,
solid mechanics
Solid mechanics, also known as mechanics of solids, is the branch of continuum mechanics that studies the behavior of solid materials, especially their motion and deformation under the action of forces, temperature changes, phase changes, and ...
, and
thermodynamics
Thermodynamics is a branch of physics that deals with heat, work, and temperature, and their relation to energy, entropy, and the physical properties of matter and radiation. The behavior of these quantities is governed by the four laws o ...
*
StarLogo
StarLogo is an agent-based simulation language developed by Mitchel Resnick, Eric Klopfer, and others at the Massachusetts Institute of Technology (MIT) Media Lab and Scheller Teacher Education Program in Massachusetts. It is an extension of the ...
– agent-based simulation language written in Java.
*
VisSim viewer – graphically programmed
data-flow diagram
A data-flow diagram is a way of representing a flow of data through a process or a system (usually an information system). The DFD also provides information about the outputs and inputs of each entity and the process itself. A data-flow diagram ha ...
s for simulation of
dynamical systems
In mathematics, a dynamical system is a system in which a function describes the time dependence of a point in an ambient space. Examples include the mathematical models that describe the swinging of a clock pendulum, the flow of water in ...
*
webMathematica and Mathematica Player – a computer algebra system and programming language.
*
VisualSim Architect
VisualSim Architect is an electronic system-level software for modeling and simulation of electronic systems, embedded software and semiconductors. VisualSim Architect is a commercial version of the Ptolemy II research project at University of Ca ...
– VisualSim Explorer enables system-level models to be embedded in documents for viewing, simulation and analysis from within a web browser without any local software installation.
See also
*
List of online spreadsheets
A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in ce ...
References
{{Reflist
External links
A portfolio of public-access and free web-based simulations
Simulation software
Web applications