Web-based simulation (WBS) is the invocation of
computer simulation
Computer simulation is the running of a mathematical model on a computer, the model being designed to represent the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determin ...
services over the
World Wide Web
The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
, specifically through a
web browser
A web browser, often shortened to browser, is an application 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 scr ...
.
Increasingly, the web is being looked upon as an environment for providing
modeling and simulation
Modeling and simulation (M&S) is the use of models (e.g., physical, mathematical, behavioral, or logical representation of a system, entity, phenomenon, or process) as a basis for simulations to develop data utilized for managerial or technica ...
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 and teaching. When referred to with its abbreviation, "EdTech" ...
, various principles can quickly be illustrated to students by means of interactive
computer animation
Computer animation is the process used for digitally generating Film, moving images. The more general term computer-generated imagery (CGI) encompasses both still images and moving images, while computer animation refers to moving images. Virtu ...
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 school, or where the learner and the teacher are separated in both time and distance; today, it usually involves online ...
, 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 branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
, 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 used for smartphones, tablets, smartwatches, smartglasses, or other non-laptop personal mobile computing devices. While computers such as laptops are "mobile", the operating systems used on the ...
s or
mobile web browsers, without the need of target hardware or locally installed
emulation software
In computing, an emulator is hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run software or use perip ...
.
* In
online computer games, 3D environments can be simulated, and old
home computer
Home computers were a class of microcomputers that entered the market in 1977 and became 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 s ...
s and
video game console
A video game console is an electronic device that Input/output, outputs a video signal or image to display a video game that can typically be played with a game controller. These may be home video game console, home consoles, which are generally ...
s can be emulated, allowing the user to play old computer games in the web browser.
* In
medical education
Medical education is vocational education, education related to the practice of being a medical practitioner, including the initial training to become a physician (i.e., medical school and internship (medical), internship) and additional trainin ...
,
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 me ...
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 ...
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 (generation of plots and other computer graphics) is carried out on the web server, while the interactive
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
(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. Scripts can be written in any of a number of s ...
such as
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
or
CGI scripts, 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), ''Ajax'' (play), by the an ...
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
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.
At the time of their introduction, the i ...
,
Flash animation
Adobe Flash animation (formerly Macromedia Flash animation and FutureSplash animation) is an animation that is created with the Adobe Animate (formerly Flash Professional) platform or similar animation software and often distributed in the SW ...
s,
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
, 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
Symbiosis (Ancient Greek : living with, companionship < : together; and ''bíōsis'': living) is any type of a close and long-term biolo ...
simulation, i.e. a simulation that interacts in real-time with a physical system.
The upcoming
cloud-computing
Cloud computing is "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand," according to ISO.
Essential characteristics ...
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 is a Block-based programming language, block-based programming language designed for children. AgentSheets uses Drag and drop, drag-and-drop mechanisms with commands such as conditions and actions as editable blocks that could be comp ...
– graphically programmed tool for creating web-based ''
The Sims
''The Sims'' is a series of life simulation video games developed by Maxis and Video game publisher, published by Electronic Arts. The franchise has sold nearly 200 million copies worldwide, and is one of the List of best-selling video game fran ...
''-like simulation games, and for teaching beginner students programming.
*
AnyLogic – 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 mathematical ...
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 ...
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 education technology company that operates a large library of interactive online simulations for mathematics and science education in grades 3–12 called 'Gizmos'. ExploreLearning also ma ...
Gizmos – a large library of interactive online simulations for math and science education in grades 3–12.
*
FreeFem++ 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, implementat ...
compatible open-source software
*
Lanner Group Ltd 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 2.0
*
Nanohub – web 2.0 in-browser interactive simulation of
nanotechnology
Nanotechnology is the manipulation of matter with at least one dimension sized from 1 to 100 nanometers (nm). At this scale, commonly known as the nanoscale, surface area and quantum mechanical effects become important in describing propertie ...
*
NetLogo
NetLogo is a programming language and integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE no ...
– a multi-agent programming language and integrated modeling environment that runs on the Java Virtual Machine
*
OpenPlaG –
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
-based function graph plotter for the use on websites
*
OpenEpi – web-based packet of tools for
biostatistics
Biostatistics (also known as biometry) is a branch of statistics that applies 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 experimen ...
*
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, group theory, differentia ...
– 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 type-checked and garbage-collected. It supports multiple prog ...
*
SimScale – 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 dynamics, fluid flows. Computers are used to perform the calculations required ...
,
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 (mechanics), deformation under the action of forces, temperature chang ...
, and
thermodynamics
Thermodynamics is a branch of physics that deals with heat, Work (thermodynamics), work, and temperature, and their relation to energy, entropy, and the physical properties of matter and radiation. The behavior of these quantities is governed b ...
*
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 ...
– agent-based simulation language written in Java.
*
VisSim viewer – graphically programmed
data-flow diagrams for simulation of
dynamical systems
In mathematics, a dynamical system is a system in which a Function (mathematics), function describes the time dependence of a Point (geometry), point in an ambient space, such as in a parametric curve. Examples include the mathematical models ...
*
webMathematica and Mathematica Player – a computer algebra system and programming language.
*
VisualSim Architect – 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
The following is a list of spreadsheets.
Free and open-source software Cloud and on-line spreadsheets
* Collabora Online Calc — Enterprise-ready LibreOffice.
* EtherCalc (successor to SocialCalc, which is based on wikiCalc)
* LibreO ...
References
{{Reflist
External links
A portfolio of public-access and free web-based simulations
Simulation software
Web applications