Difference between revisions of "About Numerus Model Builder"

From Numerus
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 13: Line 13:




===Features===
==Features==
* "Canvas" for visual model design using a component set.
* "Canvas" for visual model design using a component set.
* "Dashboard" for presentation of controls and visualizing components.
* "Dashboard" for presentation of controls and visualizing components.
Line 19: Line 19:
* Multi-layer architecture.
* Multi-layer architecture.
* Component set containing stocks, flows, etc. for constructing dynamic systems models.
* Component set containing stocks, flows, etc. for constructing dynamic systems models.
* Container components for construction spatial and agent-based models.
* Container components (CellMatrix, AgentVector, etc.) for constructing spatial and agent-based models.
* "Clocked chips" implementing synchronous timing subdivision.
* ''Clocked chips'' implementing synchronous timing subdivision.
* "Code chips" implementing coded extensions to the component set.
* ''Code chips'' implementing coded extensions to the component set.
* Script-based runtime using an extension of Javascript.
* Script-based runtime using ''NovaScript'', an extension of Javascript.
* Large set of primitive operators.
* Large set of primitive operators.
* Implements topologies for cellular and network-based environments that may contain moving agents.
* Implements topologies for cellular and network-based environments that may contain moving agents.
* Includes cellular topology based on hexagonal neighborhoods.
* Includes cellular topology based on either Cartesian or hexagonal neighborhoods.
* Plug-in framework supporting user-defined components, including an extensive set of initial plugins for visualization and other functions.
* Plug-in framework supporting user-defined components.
* Analytical Tools:  parameter sweeps, batch runs, optimizer, curve fitter.
* Data import and export to Excel
* ''R'' statical package bridge.
 
==''Numerus On Line''==
Any Numerus model can be automatically converted to a browser-based<ref>meaning that the application does not rely on a server API and can even be run locally without a server</ref> Web application. Numerus creates a “ready to publish” configuration of models for deployment either locally or from a Web server. The transparent translation from NumerusMB to NumerusOL also simplifies any further enhancements of the Web version by providing an API to the embedded simulation.

Latest revision as of 20:36, 19 June 2018

Numerus Model Builder (formerly Nova) is a Java-based modeling platform that naturally supports the creation of models in the system dynamics, spatial and agent-based modeling paradigms in a single desktop application. Numerus uses a visual language to express model design, and provides automatic conversion for such models to script form for execution. Numerus's architecture promotes hierarchical design, code reuse, and extensibility through the use of plug-ins.

Numerus is fundamentally a dynamic modeling system that is extended through hierarchical design to express spatial and agent-based architectures. A Numerus model can be built using the visual language, and then by using its capture function be automatically converted into a runnable script for immediate execution, or possible deployment over a network or on a supercomputer. Numerus focuses on the creation of a modular unit called a capsule. Each capsule is a complete model that interacts with its environment through an interface consisting of input and output channels. The simplest capsule might contain a stock-and-flow model similar to one built in Stella. However, capsule instances (called chips) may appear in other capsules (as long as there is no circularity), communicating with their hosts through their I/O channels. Each chip introduces into its host the functionality of that chip’s encapsulated model. Capsules may also be exported and reused in other projects.

The chip is one type of container. Spatial and agent-based models are constructed using array-like containers called aggregators. The current implementation provides five aggregator types:

  • AgentVectors are one dimensional arrays of agents; an agent is a capsule “wrapper” that includes a representation for location and movement within a two dimensional space. Agentvectors also manage dynamic creation and destruction of agents.
  • CellMatrices are two dimensional arrays of capsules. They provide a means for representing cellular automata. Cellmatrices may implement either a cartesian or hexagonal topology.
  • NodeNetworks are an array of graph nodes with weighted directed connections. Click here for an example of using a NodeNetwork.
  • SimWorlds combine Agentvectors with Cellmatrices, so that agent locations correspond to matrix coordinates. The result is a virtual space of interacting agents and cells.
  • NetWorlds are analogous to SimWorlds substituting a NodeNetwork for a CellMatrix as the space in which the agents operate.

Numerus's computational architecture is built to implement the semantics of NovaScript, a scripting language embedded in Javascript. The NovaScript runtime environment is an extension of the ECMA 1.7 Javascript standard. All Numerus simulations are actually NovaScript programs executing on the NovaScript runtime interpreter.


Features

  • "Canvas" for visual model design using a component set.
  • "Dashboard" for presentation of controls and visualizing components.
  • Cross-platform: runs on Mac, Windows and Linux.
  • Multi-layer architecture.
  • Component set containing stocks, flows, etc. for constructing dynamic systems models.
  • Container components (CellMatrix, AgentVector, etc.) for constructing spatial and agent-based models.
  • Clocked chips implementing synchronous timing subdivision.
  • Code chips implementing coded extensions to the component set.
  • Script-based runtime using NovaScript, an extension of Javascript.
  • Large set of primitive operators.
  • Implements topologies for cellular and network-based environments that may contain moving agents.
  • Includes cellular topology based on either Cartesian or hexagonal neighborhoods.
  • Plug-in framework supporting user-defined components.
  • Analytical Tools: parameter sweeps, batch runs, optimizer, curve fitter.
  • Data import and export to Excel
  • R statical package bridge.

Numerus On Line

Any Numerus model can be automatically converted to a browser-based[1] Web application. Numerus creates a “ready to publish” configuration of models for deployment either locally or from a Web server. The transparent translation from NumerusMB to NumerusOL also simplifies any further enhancements of the Web version by providing an API to the embedded simulation.

  1. meaning that the application does not rely on a server API and can even be run locally without a server