<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.numerusinc.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Iburns</id>
	<title>Numerus - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.numerusinc.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Iburns"/>
	<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php/Special:Contributions/Iburns"/>
	<updated>2026-04-07T15:39:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Frames,_Menus,_Toolbars&amp;diff=66</id>
		<title>Frames, Menus, Toolbars</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Frames,_Menus,_Toolbars&amp;diff=66"/>
		<updated>2017-10-12T20:21:55Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Copied content from original wiki. Will need to be HEAVILY edited, just loaded it for format reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In this section we explain each element of the Nova interface.&lt;br /&gt;
&lt;br /&gt;
==Frames==&lt;br /&gt;
&lt;br /&gt;
Nova has two frames, as shown below.&lt;br /&gt;
&lt;br /&gt;
===Main Frame===&lt;br /&gt;
[[File:mainframe.png|thumb]]&lt;br /&gt;
;a. Toolbar: (discussed below)&lt;br /&gt;
;b. Simulator controls: Sets the time parameters and runs the simulation; see Program Execution.&lt;br /&gt;
;c. Programming Pane: Used for specifying global variables and functions; for submodels, also used to specify Properties and Methods.&lt;br /&gt;
;d. Model Canvas: Design platform for component-based models.&lt;br /&gt;
;e. Dashboard: Contains controls and visualizing elements for use during simulation execution.&lt;br /&gt;
;f. Console: provides interactive access to the Nova runtime interpreter.&lt;br /&gt;
;g. Capsule set: lists main and submodel capsules used in this project.&lt;br /&gt;
&lt;br /&gt;
===Script Frame===&lt;br /&gt;
[[File:scriptpane.png|thumb]]&lt;br /&gt;
;a. Toolbar: buttons for loading and saving NovaScript files; also duplicates of the simulation controls found on the main frame.&lt;br /&gt;
;b. Script Pane: contains the current NovaScript program.;&lt;br /&gt;
;c. Console Pane: duplicate of the Console Pane on the main frame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
==Menus==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|File||New Project||Clears the system and creates a new project&lt;br /&gt;
|-&lt;br /&gt;
|||Recent Files|| Shows recently opened project for selection&lt;br /&gt;
|-&lt;br /&gt;
|||Reload||Rereads the current project into Nova&lt;br /&gt;
|-&lt;br /&gt;
|||Browse Model Library||Opens a browsing window to allow selection of a project from the model library&lt;br /&gt;
|-&lt;br /&gt;
||| New Nova Window||Opens a new empty main frame&lt;br /&gt;
|-&lt;br /&gt;
|||Save Project||Saves the current project&lt;br /&gt;
|-&lt;br /&gt;
|||Save As||Saves the current project, possibly in a new file&lt;br /&gt;
|-&lt;br /&gt;
|||Import||Imports a selected project as a submodel&lt;br /&gt;
|-&lt;br /&gt;
|||Export||Exports a submodel for import into another project&lt;br /&gt;
|-&lt;br /&gt;
|||New Main Model||Creates a new main model layer, making the current main model into a submodel&lt;br /&gt;
|-&lt;br /&gt;
|||New Sub Model||Creates a new submodel layer&lt;br /&gt;
|-&lt;br /&gt;
|||Save Canvas as Image||Creates a jpg image of the current main frame&lt;br /&gt;
|-&lt;br /&gt;
|||Exit||Exits Nova&lt;br /&gt;
|-&lt;br /&gt;
|Edit||Undo||Undo the last gesture&lt;br /&gt;
|-&lt;br /&gt;
|||Redo||Redo the last undone gesture&lt;br /&gt;
|-&lt;br /&gt;
|||Cut||Remove the currently selected components and copy to the clipboard&lt;br /&gt;
|-&lt;br /&gt;
|||Copy||Copy the currently selected components to the clipboard&lt;br /&gt;
|-&lt;br /&gt;
|||Paste||Paste contents of the clipboard to the model canvas&lt;br /&gt;
|-&lt;br /&gt;
|||Delete||Remove the currently selected components without copying&lt;br /&gt;
|-&lt;br /&gt;
|||Select All||Select all components&lt;br /&gt;
|-&lt;br /&gt;
|Tools||Snap to Grid	||Realigns all components with the underlying model canvas grid.&lt;br /&gt;
|-&lt;br /&gt;
|||Arrow Snap||Redraws all arrows to have minimal length.&lt;br /&gt;
|-&lt;br /&gt;
|||Convert to Pins||Converts selected Terms to Pins.&lt;br /&gt;
|-&lt;br /&gt;
|||Create Phantoms||Adds phantom components corresponding to those currently selected&lt;br /&gt;
|-&lt;br /&gt;
|||Edit Component Equations||Opens the Component Equation Panel, which permits editing of all component equations on the current level.&lt;br /&gt;
|-&lt;br /&gt;
|||Arrows On||In this mode all arrows are visible.&lt;br /&gt;
|-&lt;br /&gt;
|||Arrows Highlight||In this mode only those arrows for the component under the mouse are visible.&lt;br /&gt;
|-&lt;br /&gt;
|||Arrows Off||In this mode no arrows are visible.&lt;br /&gt;
|-&lt;br /&gt;
|||NovaScript Frame||Toggles script frame visibility.&lt;br /&gt;
|-&lt;br /&gt;
|||Information||Toggles the information pane, containing documentation for the current level.&lt;br /&gt;
|-&lt;br /&gt;
|||About (windows)||Shows version number, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Window||Cycle Through Windows||Cycles focus through all open Nova windows&lt;br /&gt;
|-&lt;br /&gt;
|||Bring All to Front||Moves all Nova windows forward on the desktop&lt;br /&gt;
|-&lt;br /&gt;
|Help|||Nova Help Website||Brings up this document in a web browser&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Toolbars==&lt;br /&gt;
===Main toolbar===&lt;br /&gt;
: The main toolbar duplicates functionalities found in menu items&lt;br /&gt;
[[File:toolbar.png|400xpx]]&lt;br /&gt;
===Pallet toggles and contextual help===&lt;br /&gt;
: The next three buttons toggle (open/closed) the Component, Plugin and Code Chip pallets; these pallets are discussed below; the fourth button enables/disables contextual help.&lt;br /&gt;
[[File:palletButtons.png|300xpx]]&lt;br /&gt;
===Simulation controls and execution/development modes===&lt;br /&gt;
*'''Simulation controls''': Capture, load, etc. for executing simulations&lt;br /&gt;
*'''Stats Selector''': Enables use of R statistical package within Nova&lt;br /&gt;
*'''Timeline view''': Timeline view allows forward/backward simulation execution.&lt;br /&gt;
*'''Automode''': When enabled, cause automatic re-execution of simulation when an input parameter changes.&lt;br /&gt;
*'''Top-level capture''': When checked, capture always occurs at the top level regardless of the current model level in view.&lt;br /&gt;
[[File:simbar.png|600xpx]]&lt;br /&gt;
&lt;br /&gt;
===Execution toolbar===&lt;br /&gt;
*'''Simulation Runtime''': user-specified clock parameters and integration method; displays current model time during execution.&lt;br /&gt;
*'''Simulation Speed''': determines real-time simulation speed.&lt;br /&gt;
[[File:simrun.png|600xpx]]&lt;br /&gt;
&lt;br /&gt;
==Pallets==&lt;br /&gt;
* '''Component Pallet:''' Select component for insertion onto model canvas. Components are described in [[Component Guide]]&lt;br /&gt;
* '''Plugin Pallet''': Select plugin for insertion onto model canvas and/or dashboard. Plugins are described in [[Plugins]]&lt;br /&gt;
* '''Code Chip Pallet''': Shows currently defined code chips for insertion onto model canvas. Code chips are described in [[Code Chips]]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[File:compPallet.png|300xpx]]&lt;br /&gt;
|[[File:plugPallet.png|300xpx]]&lt;br /&gt;
|[[File:codechipPallet.png|150xpx]]&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Numerus_Wiki&amp;diff=65</id>
		<title>Numerus Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Numerus_Wiki&amp;diff=65"/>
		<updated>2017-10-12T20:21:03Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Created GUI page and users guide section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Numerus Wiki Content ==&lt;br /&gt;
* [http://wiki.numerusinc.com/index.php/Numerus_Model_Builder_Wiki:_The_Place_for_NumerusMB_Documentation Numerus Model Builder]&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;br /&gt;
&lt;br /&gt;
==Users Guide==&lt;br /&gt;
* [[Frames, Menus, Toolbars]]&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=64</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=64"/>
		<updated>2017-10-08T01:09:52Z</updated>

		<summary type="html">&lt;p&gt;Iburns: /* Network Based Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The Fundamentals of Computational Modeling==&lt;br /&gt;
Ultimately, everyone in the world is a modeler. We simply do not always realize it. To exist in the world, to try to understand a system, is to develop a model. Whether your model is that a ball will fall when you release it or a prediction of what your friend will like for their birthday, developing models of how the world behaves is fundamental to how humans approach the world.&lt;br /&gt;
&lt;br /&gt;
Computational modeling, then, is simply a process of formalizing these models and translating them to mathematics. This is done through reducing a complex system to individual components that can be understood. Virtually any system can be addressed this way. The demographics of a population, the movements of flocks of birds, or the spread of a forest fire are all relatively simple to model. It can even address more complicated issues, such as interpersonal interactions or the movements of crowds. Through the use of equations, and the rapid calculation speeds of computers, we can use computational modeling to study the evolution of a system over time. Computational modeling is a vast field, and an introduction such as this can only scratch the surface. But hopefully this brief introduction will give you an idea of the possibilities, and provide a starting point for going forward. &lt;br /&gt;
&lt;br /&gt;
Fundamental to any model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
When choosing the level of abstraction, it is important to remember that the goal of a model is not necessarily prediction. Prediction is certainly desirable, but not all systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this does not mean modeling these systems is useless. Even though specific outcomes will always come with uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
Another goal of modeling can be to test a hypothesis. This is because what a model fails to predict can be just as revealing as what it does. If the model of a system behaves differently than the real data it is compared too, this means that our understanding of the model is incomplete. As an example, a model indicates that the prey population should be stable but the data indicates it is plummeting. This could indicate many things, whether a predator or disease or lowered birthrate. But clearly there is something strange going on that requires investigation.&lt;br /&gt;
&lt;br /&gt;
Hopefully this brief introduction to the field of Computation Modeling has given you a sense of it's versatility and applicability. The rest of this introduction will focus on the three primary specialties of NumerusMB: Dynamical Systems Models, Spatial Models, and Network Models. &lt;br /&gt;
&lt;br /&gt;
==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like NumerusMB and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Dynamical Systems Models===&lt;br /&gt;
Dynamical Systems Models are used to describe when something you are measuring moves from one place to another, or transforms from one thing to something else. This may be modelling the flow of Carbon between various reservoirs, or it may be modeling the different cohorts in a population as they age. It can even represent the flow between sick and infected populations. The key point is that you have a measurable quantity being shuffled between categories without being lost in the transfer.&lt;br /&gt;
&lt;br /&gt;
===Dynamical Systems Models in NumerusMB===&lt;br /&gt;
In NumerusMD we use the Stock and Flow objects. Stocks represent a pool of what we are measuring: infected population, nitrogen in lake water, and so on. Flows represent the movement of what we are measuring from one stock to another. This would be the flow of people from uninfected to infected population, or nitrogen from lake water to the algae population. Flows can also represent a source or sink of our measured quantity. A Source flow could represent immigration and births adding people, while a Sink flow would could represent people's deaths. Similarly a Source for nitrogen could represent runoff from farmland.&lt;br /&gt;
&lt;br /&gt;
==Spatial Models==&lt;br /&gt;
Spatial Models simply represent the behavior of a virtual landscape. The landscape is composed of cells, which can be thought of like pixels. They are the resolution with which we will study the processes of the landscape. As always when modeling, it is best to pick the broadest resolution that will answer your questions. Spatial models can also be combined with Agent Based models, to represent the interaction between the mobile agents and the landscape they inhabit.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Spatial Models===&lt;br /&gt;
Spatial models are, obviously enough, used for studying the behavior of entire landscapes. They can address the population density of a city, and misbehavior in a classroom, or the interaction between plant cover rainfall and wildfire. However it is important to note that the landscape can be metaphorical. The key requirement for a Spatial Model is simply that each cell has a fixed distance from each by some metric, and that the cells interact with each other. A Spatial Model can also provide critical context for an Agent Based model. In a model of honeybee behavior and pollination, for example, the bee agents will have a direct impact on the landscape and vice versa.&lt;br /&gt;
&lt;br /&gt;
===Spatial Models in NumerusMB===&lt;br /&gt;
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. The Cell is the fundamental unit of analysis. A CellMatrix maintains an array of cells in either a Cartesian or Hexagonal lattice topology, in which individual cells are aware of both their location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells “alive” and “dead” depending on the state of each individual cell's neighbors. Each cell's behavior is individually programmed as a Capsule, which is then assigned to the CellMatrix.&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. In some ways an Agent Based model is similar to Spatial Model, but unlike a Cell an Agent has no neighbors and it's position is not fixed.&lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. NumerusMB includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in NumerusMB===&lt;br /&gt;
Agent based models in NumerusMB are models that make use of an AgentVector. The AgentVector contains the population of Agents, as well as their location. In addition, NumerusMB includes Simworlds and Networlds. A SimWorld combines an AgentVector with a CellMatrix that provides a landscape. The Networld component uses a NodeNetwork for the same purpose.  The ''SIR'' model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The ''Antz'' model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Network Based Models==&lt;br /&gt;
&lt;br /&gt;
===Goals of Development Network Based Models===&lt;br /&gt;
===Network Based Models in NumerusMB===&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design in NumerusMB==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into NumerusMB's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of NumerusMB's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|NumerusMB Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within NumerusMB. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=63</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=63"/>
		<updated>2017-10-08T01:09:23Z</updated>

		<summary type="html">&lt;p&gt;Iburns: /* Dynamical Systems Models in NumerusMD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The Fundamentals of Computational Modeling==&lt;br /&gt;
Ultimately, everyone in the world is a modeler. We simply do not always realize it. To exist in the world, to try to understand a system, is to develop a model. Whether your model is that a ball will fall when you release it or a prediction of what your friend will like for their birthday, developing models of how the world behaves is fundamental to how humans approach the world.&lt;br /&gt;
&lt;br /&gt;
Computational modeling, then, is simply a process of formalizing these models and translating them to mathematics. This is done through reducing a complex system to individual components that can be understood. Virtually any system can be addressed this way. The demographics of a population, the movements of flocks of birds, or the spread of a forest fire are all relatively simple to model. It can even address more complicated issues, such as interpersonal interactions or the movements of crowds. Through the use of equations, and the rapid calculation speeds of computers, we can use computational modeling to study the evolution of a system over time. Computational modeling is a vast field, and an introduction such as this can only scratch the surface. But hopefully this brief introduction will give you an idea of the possibilities, and provide a starting point for going forward. &lt;br /&gt;
&lt;br /&gt;
Fundamental to any model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
When choosing the level of abstraction, it is important to remember that the goal of a model is not necessarily prediction. Prediction is certainly desirable, but not all systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this does not mean modeling these systems is useless. Even though specific outcomes will always come with uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
Another goal of modeling can be to test a hypothesis. This is because what a model fails to predict can be just as revealing as what it does. If the model of a system behaves differently than the real data it is compared too, this means that our understanding of the model is incomplete. As an example, a model indicates that the prey population should be stable but the data indicates it is plummeting. This could indicate many things, whether a predator or disease or lowered birthrate. But clearly there is something strange going on that requires investigation.&lt;br /&gt;
&lt;br /&gt;
Hopefully this brief introduction to the field of Computation Modeling has given you a sense of it's versatility and applicability. The rest of this introduction will focus on the three primary specialties of NumerusMB: Dynamical Systems Models, Spatial Models, and Network Models. &lt;br /&gt;
&lt;br /&gt;
==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like NumerusMB and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Dynamical Systems Models===&lt;br /&gt;
Dynamical Systems Models are used to describe when something you are measuring moves from one place to another, or transforms from one thing to something else. This may be modelling the flow of Carbon between various reservoirs, or it may be modeling the different cohorts in a population as they age. It can even represent the flow between sick and infected populations. The key point is that you have a measurable quantity being shuffled between categories without being lost in the transfer.&lt;br /&gt;
&lt;br /&gt;
===Dynamical Systems Models in NumerusMB===&lt;br /&gt;
In NumerusMD we use the Stock and Flow objects. Stocks represent a pool of what we are measuring: infected population, nitrogen in lake water, and so on. Flows represent the movement of what we are measuring from one stock to another. This would be the flow of people from uninfected to infected population, or nitrogen from lake water to the algae population. Flows can also represent a source or sink of our measured quantity. A Source flow could represent immigration and births adding people, while a Sink flow would could represent people's deaths. Similarly a Source for nitrogen could represent runoff from farmland.&lt;br /&gt;
&lt;br /&gt;
==Spatial Models==&lt;br /&gt;
Spatial Models simply represent the behavior of a virtual landscape. The landscape is composed of cells, which can be thought of like pixels. They are the resolution with which we will study the processes of the landscape. As always when modeling, it is best to pick the broadest resolution that will answer your questions. Spatial models can also be combined with Agent Based models, to represent the interaction between the mobile agents and the landscape they inhabit.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Spatial Models===&lt;br /&gt;
Spatial models are, obviously enough, used for studying the behavior of entire landscapes. They can address the population density of a city, and misbehavior in a classroom, or the interaction between plant cover rainfall and wildfire. However it is important to note that the landscape can be metaphorical. The key requirement for a Spatial Model is simply that each cell has a fixed distance from each by some metric, and that the cells interact with each other. A Spatial Model can also provide critical context for an Agent Based model. In a model of honeybee behavior and pollination, for example, the bee agents will have a direct impact on the landscape and vice versa.&lt;br /&gt;
&lt;br /&gt;
===Spatial Models in NumerusMB===&lt;br /&gt;
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. The Cell is the fundamental unit of analysis. A CellMatrix maintains an array of cells in either a Cartesian or Hexagonal lattice topology, in which individual cells are aware of both their location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells “alive” and “dead” depending on the state of each individual cell's neighbors. Each cell's behavior is individually programmed as a Capsule, which is then assigned to the CellMatrix.&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. In some ways an Agent Based model is similar to Spatial Model, but unlike a Cell an Agent has no neighbors and it's position is not fixed.&lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. NumerusMB includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in NumerusMB===&lt;br /&gt;
Agent based models in NumerusMB are models that make use of an AgentVector. The AgentVector contains the population of Agents, as well as their location. In addition, NumerusMB includes Simworlds and Networlds. A SimWorld combines an AgentVector with a CellMatrix that provides a landscape. The Networld component uses a NodeNetwork for the same purpose.  The ''SIR'' model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The ''Antz'' model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Network Based Models==&lt;br /&gt;
===Network Based Models in NumerusMB===&lt;br /&gt;
===Goals of Development Network Based Models===&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design in NumerusMB==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into NumerusMB's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of NumerusMB's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|NumerusMB Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within NumerusMB. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=62</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=62"/>
		<updated>2017-10-08T01:06:33Z</updated>

		<summary type="html">&lt;p&gt;Iburns: /* Dynamical System Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The Fundamentals of Computational Modeling==&lt;br /&gt;
Ultimately, everyone in the world is a modeler. We simply do not always realize it. To exist in the world, to try to understand a system, is to develop a model. Whether your model is that a ball will fall when you release it or a prediction of what your friend will like for their birthday, developing models of how the world behaves is fundamental to how humans approach the world.&lt;br /&gt;
&lt;br /&gt;
Computational modeling, then, is simply a process of formalizing these models and translating them to mathematics. This is done through reducing a complex system to individual components that can be understood. Virtually any system can be addressed this way. The demographics of a population, the movements of flocks of birds, or the spread of a forest fire are all relatively simple to model. It can even address more complicated issues, such as interpersonal interactions or the movements of crowds. Through the use of equations, and the rapid calculation speeds of computers, we can use computational modeling to study the evolution of a system over time. Computational modeling is a vast field, and an introduction such as this can only scratch the surface. But hopefully this brief introduction will give you an idea of the possibilities, and provide a starting point for going forward. &lt;br /&gt;
&lt;br /&gt;
Fundamental to any model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
When choosing the level of abstraction, it is important to remember that the goal of a model is not necessarily prediction. Prediction is certainly desirable, but not all systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this does not mean modeling these systems is useless. Even though specific outcomes will always come with uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
Another goal of modeling can be to test a hypothesis. This is because what a model fails to predict can be just as revealing as what it does. If the model of a system behaves differently than the real data it is compared too, this means that our understanding of the model is incomplete. As an example, a model indicates that the prey population should be stable but the data indicates it is plummeting. This could indicate many things, whether a predator or disease or lowered birthrate. But clearly there is something strange going on that requires investigation.&lt;br /&gt;
&lt;br /&gt;
Hopefully this brief introduction to the field of Computation Modeling has given you a sense of it's versatility and applicability. The rest of this introduction will focus on the three primary specialties of NumerusMB: Dynamical Systems Models, Spatial Models, and Network Models. &lt;br /&gt;
&lt;br /&gt;
==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like NumerusMB and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Dynamical Systems Models===&lt;br /&gt;
Dynamical Systems Models are used to describe when something you are measuring moves from one place to another, or transforms from one thing to something else. This may be modelling the flow of Carbon between various reservoirs, or it may be modeling the different cohorts in a population as they age. It can even represent the flow between sick and infected populations. The key point is that you have a measurable quantity being shuffled between categories without being lost in the transfer.&lt;br /&gt;
&lt;br /&gt;
===Dynamical Systems Models in NumerusMD===&lt;br /&gt;
In NumerusMD we use the Stock and Flow objects. Stocks represent a pool of what we are measuring: infected population, nitrogen in lake water, and so on. Flows represent the movement of what we are measuring from one stock to another. This would be the flow of people from uninfected to infected population, or nitrogen from lake water to the algae population. Flows can also represent a source or sink of our measured quantity. A Source flow could represent immigration and births adding people, while a Sink flow would could represent people's deaths. Similarly a Source for nitrogen could represent runoff from farmland.&lt;br /&gt;
&lt;br /&gt;
==Spatial Models==&lt;br /&gt;
Spatial Models simply represent the behavior of a virtual landscape. The landscape is composed of cells, which can be thought of like pixels. They are the resolution with which we will study the processes of the landscape. As always when modeling, it is best to pick the broadest resolution that will answer your questions. Spatial models can also be combined with Agent Based models, to represent the interaction between the mobile agents and the landscape they inhabit.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Spatial Models===&lt;br /&gt;
Spatial models are, obviously enough, used for studying the behavior of entire landscapes. They can address the population density of a city, and misbehavior in a classroom, or the interaction between plant cover rainfall and wildfire. However it is important to note that the landscape can be metaphorical. The key requirement for a Spatial Model is simply that each cell has a fixed distance from each by some metric, and that the cells interact with each other. A Spatial Model can also provide critical context for an Agent Based model. In a model of honeybee behavior and pollination, for example, the bee agents will have a direct impact on the landscape and vice versa.&lt;br /&gt;
&lt;br /&gt;
===Spatial Models in NumerusMB===&lt;br /&gt;
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. The Cell is the fundamental unit of analysis. A CellMatrix maintains an array of cells in either a Cartesian or Hexagonal lattice topology, in which individual cells are aware of both their location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells “alive” and “dead” depending on the state of each individual cell's neighbors. Each cell's behavior is individually programmed as a Capsule, which is then assigned to the CellMatrix.&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. In some ways an Agent Based model is similar to Spatial Model, but unlike a Cell an Agent has no neighbors and it's position is not fixed.&lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. NumerusMB includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in NumerusMB===&lt;br /&gt;
Agent based models in NumerusMB are models that make use of an AgentVector. The AgentVector contains the population of Agents, as well as their location. In addition, NumerusMB includes Simworlds and Networlds. A SimWorld combines an AgentVector with a CellMatrix that provides a landscape. The Networld component uses a NodeNetwork for the same purpose.  The ''SIR'' model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The ''Antz'' model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Network Based Models==&lt;br /&gt;
===Network Based Models in NumerusMB===&lt;br /&gt;
===Goals of Development Network Based Models===&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design in NumerusMB==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into NumerusMB's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of NumerusMB's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|NumerusMB Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within NumerusMB. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=61</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=61"/>
		<updated>2017-10-08T00:14:30Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The Fundamentals of Computational Modeling==&lt;br /&gt;
Ultimately, everyone in the world is a modeler. We simply do not always realize it. To exist in the world, to try to understand a system, is to develop a model. Whether your model is that a ball will fall when you release it or a prediction of what your friend will like for their birthday, developing models of how the world behaves is fundamental to how humans approach the world.&lt;br /&gt;
&lt;br /&gt;
Computational modeling, then, is simply a process of formalizing these models and translating them to mathematics. This is done through reducing a complex system to individual components that can be understood. Virtually any system can be addressed this way. The demographics of a population, the movements of flocks of birds, or the spread of a forest fire are all relatively simple to model. It can even address more complicated issues, such as interpersonal interactions or the movements of crowds. Through the use of equations, and the rapid calculation speeds of computers, we can use computational modeling to study the evolution of a system over time. Computational modeling is a vast field, and an introduction such as this can only scratch the surface. But hopefully this brief introduction will give you an idea of the possibilities, and provide a starting point for going forward. &lt;br /&gt;
&lt;br /&gt;
Fundamental to any model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
When choosing the level of abstraction, it is important to remember that the goal of a model is not necessarily prediction. Prediction is certainly desirable, but not all systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this does not mean modeling these systems is useless. Even though specific outcomes will always come with uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
Another goal of modeling can be to test a hypothesis. This is because what a model fails to predict can be just as revealing as what it does. If the model of a system behaves differently than the real data it is compared too, this means that our understanding of the model is incomplete. As an example, a model indicates that the prey population should be stable but the data indicates it is plummeting. This could indicate many things, whether a predator or disease or lowered birthrate. But clearly there is something strange going on that requires investigation.&lt;br /&gt;
&lt;br /&gt;
Hopefully this brief introduction to the field of Computation Modeling has given you a sense of it's versatility and applicability. The rest of this introduction will focus on the three primary specialties of NumerusMB: Dynamical Systems Models, Spatial Models, and Network Models. &lt;br /&gt;
&lt;br /&gt;
==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like NumerusMB and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Dynamical Systems Models===&lt;br /&gt;
Dynamical Systems Models are used to describe when something you are measuring moves from one place to another, or transforms from one thing to something else. This may be modelling the flow of Carbon between various reservoirs, or it may be modeling the different cohorts in a population as they age. It can even represent the flow between sick and infected populations. The key point is that you have a measurable quantity being shuffled between categories without being lost in the transfer.&lt;br /&gt;
&lt;br /&gt;
==Spatial Models==&lt;br /&gt;
Spatial Models simply represent the behavior of a virtual landscape. The landscape is composed of cells, which can be thought of like pixels. They are the resolution with which we will study the processes of the landscape. As always when modeling, it is best to pick the broadest resolution that will answer your questions. Spatial models can also be combined with Agent Based models, to represent the interaction between the mobile agents and the landscape they inhabit.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Spatial Models===&lt;br /&gt;
Spatial models are, obviously enough, used for studying the behavior of entire landscapes. They can address the population density of a city, and misbehavior in a classroom, or the interaction between plant cover rainfall and wildfire. However it is important to note that the landscape can be metaphorical. The key requirement for a Spatial Model is simply that each cell has a fixed distance from each by some metric, and that the cells interact with each other. A Spatial Model can also provide critical context for an Agent Based model. In a model of honeybee behavior and pollination, for example, the bee agents will have a direct impact on the landscape and vice versa.&lt;br /&gt;
&lt;br /&gt;
===Spatial Models in NumerusMB===&lt;br /&gt;
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. The Cell is the fundamental unit of analysis. A CellMatrix maintains an array of cells in either a Cartesian or Hexagonal lattice topology, in which individual cells are aware of both their location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells “alive” and “dead” depending on the state of each individual cell's neighbors. Each cell's behavior is individually programmed as a Capsule, which is then assigned to the CellMatrix.&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. In some ways an Agent Based model is similar to Spatial Model, but unlike a Cell an Agent has no neighbors and it's position is not fixed.&lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. NumerusMB includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in NumerusMB===&lt;br /&gt;
Agent based models in NumerusMB are models that make use of an AgentVector. The AgentVector contains the population of Agents, as well as their location. In addition, NumerusMB includes Simworlds and Networlds. A SimWorld combines an AgentVector with a CellMatrix that provides a landscape. The Networld component uses a NodeNetwork for the same purpose.  The ''SIR'' model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The ''Antz'' model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Network Based Models==&lt;br /&gt;
===Network Based Models in NumerusMB===&lt;br /&gt;
===Goals of Development Network Based Models===&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design in NumerusMB==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into NumerusMB's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of NumerusMB's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|NumerusMB Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within NumerusMB. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=60</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=60"/>
		<updated>2017-10-07T21:35:56Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The Fundamentals of Computational Modeling==&lt;br /&gt;
Ultimately, everyone in the world is a modeler. We simply do not always realize it. To exist in the world, to try to understand a system, is to develop a model. Whether your model is that a ball will fall when you release it or a prediction of what your friend will like for their birthday, developing models of how the world behaves is fundamental to how humans approach the world.&lt;br /&gt;
&lt;br /&gt;
Computational modeling, then, is simply a process of formalizing these models and translating them to mathematics. This is done through reducing a complex system to individual components that can be understood. Virtually any system can be addressed this way. The demographics of a population, the movements of flocks of birds, or the spread of a forest fire are all relatively simple to model. It can even address more complicated issues, such as interpersonal interactions or the movements of crowds. Through the use of equations, and the rapid calculation speeds of computers, we can use computational modeling to study the evolution of a system over time. Computational modeling is a vast field, and an introduction such as this can only scratch the surface. But hopefully this brief introduction will give you an idea of the possibilities, and provide a starting point for going forward. &lt;br /&gt;
&lt;br /&gt;
Fundamental to any model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
When choosing the level of abstraction, it is important to remember that the goal of a model is not necessarily prediction. Prediction is certainly desirable, but not all systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this does not mean modeling these systems is useless. Even though specific outcomes will always come with uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
Another goal of modeling can be to test a hypothesis. This is because what a model fails to predict can be just as revealing as what it does. If the model of a system behaves differently than the real data it is compared too, this means that our understanding of the model is incomplete. As an example, a model indicates that the prey population should be stable but the data indicates it is plummeting. This could indicate many things, whether a predator or disease or lowered birthrate. But clearly there is something strange going on that requires investigation.&lt;br /&gt;
&lt;br /&gt;
Hopefully this brief introduction to the field of Computation Modeling has given you a sense of it's versatility and applicability. The rest of this introduction will focus on the three primary specialties of NumerusMB: Dynamical Systems Models, Spatial Models, and Network Models. &lt;br /&gt;
&lt;br /&gt;
==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like NumerusMB and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Dynamical Systems Models===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spatial Models==&lt;br /&gt;
Spatial Models simply represent the behavior of a virtual landscape. The landscape is composed of cells, which can be thought of like pixels. They are the resolution with which we will study the processes of the landscape. As always when modeling, it is best to pick the broadest resolution that will answer your questions. Spatial models can also be combined with Agent Based models, to represent the interaction between the mobile agents and the landscape they inhabit.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Spatial Models===&lt;br /&gt;
Spatial models are, obviously enough, used for studying the behavior of entire landscapes. They can address the population density of a city, and misbehavior in a classroom, or the interaction between plant cover rainfall and wildfire. However it is important to note that the landscape can be metaphorical. The key requirement for a Spatial Model is simply that each cell has a fixed distance from each by some metric, and that the cells interact with each other. A Spatial Model can also provide critical context for an Agent Based model. In a model of honeybee behavior and pollination, for example, the bee agents will have a direct impact on the landscape and vice versa.&lt;br /&gt;
&lt;br /&gt;
===Spatial Models in NumerusMB===&lt;br /&gt;
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. The Cell is the fundamental unit of analysis. A CellMatrix maintains an array of cells in either a Cartesian or Hexagonal lattice topology, in which individual cells are aware of both their location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells “alive” and “dead” depending on the state of each individual cell's neighbors. Each cell's behavior is individually programmed as a Capsule, which is then assigned to the CellMatrix.&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. In some ways an Agent Based model is similar to Spatial Model, but unlike a Cell an Agent has no neighbors and it's position is not fixed.&lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. NumerusMB includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in NumerusMB===&lt;br /&gt;
Agent based models in NumerusMB are models that make use of an AgentVector. The AgentVector contains the population of Agents, as well as their location. In addition, NumerusMB includes Simworlds and Networlds. A SimWorld combines an AgentVector with a CellMatrix that provides a landscape. The Networld component uses a NodeNetwork for the same purpose.  The ''SIR'' model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The ''Antz'' model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Network Based Models==&lt;br /&gt;
===Network Based Models in NumerusMB===&lt;br /&gt;
===Goals of Development Network Based Models===&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design in NumerusMB==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into NumerusMB's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of NumerusMB's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|NumerusMB Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within NumerusMB. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=59</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=59"/>
		<updated>2017-10-07T20:04:07Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The Fundamentals of Computational Modeling==&lt;br /&gt;
Ultimately, everyone in the world is a modeler. We simply do not always realize it. To exist in the world, to try to understand a system, is to develop a model. Whether your model is that a ball will fall when you release it or a prediction of what your friend will like for their birthday, developing models of how the world behaves is fundamental to how humans approach the world.&lt;br /&gt;
&lt;br /&gt;
Computational modeling, then, is simply a process of formalizing these models and translating them to mathematics. This is done through reducing a complex system to individual components that can be understood. Virtually any system can be addressed this way. The demographics of a population, the movements of flocks of birds, or the spread of a forest fire are all relatively simple to model. It can even address more complicated issues, such as interpersonal interactions or the movements of crowds. Through the use of equations, and the rapid calculation speeds of computers, we can use computational modeling to study the evolution of a system over time. Computational modeling is a vast field, and an introduction such as this can only scratch the surface. But hopefully this brief introduction will give you an idea of the possibilities, and provide a starting point for going forward. &lt;br /&gt;
&lt;br /&gt;
Fundamental to any model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
When choosing the level of abstraction, it is important to remember that the goal of a model is not necessarily prediction. Prediction is certainly desirable, but not all systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this does not mean modeling these systems is useless. Even though specific outcomes will always come with uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
Another goal of modeling can be to test a hypothesis. This is because what a model fails to predict can be just as revealing as what it does. If the model of a system behaves differently than the real data it is compared too, this means that our understanding of the model is incomplete. As an example, a model indicates that the prey population should be stable but the data indicates it is plummeting. This could indicate many things, whether a predator or disease or lowered birthrate. But clearly there is something strange going on that requires investigation.&lt;br /&gt;
&lt;br /&gt;
Hopefully this brief introduction to the field of Computation Modeling has given you a sense of it's versatility and applicability. The rest of this introduction will focus on the three primary specialties of NumerusMB: Dynamical Systems Models, Spatial Models, and Network Models. &lt;br /&gt;
&lt;br /&gt;
==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like NumerusMB and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Dynamical Systems Models===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spatial Models==&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Spatial Models===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Spatial Models in NumerusMB===&lt;br /&gt;
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. A CellMatrix maintains and array of cells in either a cartesian or hexagonal lattice topology, in which individual cells are aware of the location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells turning “off” and “on” or “alive” and “dead” depending on the state of each individual cell's neighbors.&lt;br /&gt;
&lt;br /&gt;
==Network Based Models==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. &lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. NumerusMB includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in NumerusMB===&lt;br /&gt;
Agent based models in NumerusMB are models that make use of either an AgentVector, a SimWorld or a NetWorld. (The former combines an AgentVector with a CellMatrix that provides a simulated landscape for the agents to exist in; the latter uses a NodeNetwork for the same purpose.)  The ''SIR'' model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The ''Antz'' model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into NumerusMB's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of NumerusMB's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|NumerusMB Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within NumerusMB. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=58</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=58"/>
		<updated>2017-10-07T19:21:01Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like NumerusMB and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
Fundamental to a dynamical system model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Dynamical Systems===&lt;br /&gt;
Many people think the goal of modeling is prediction. Prediction is certainly desirable, but the reality is that few systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this doesn’t mean modeling is useless. Even though specific outcomes will always come with a high degree of uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
==Spatial Models==&lt;br /&gt;
&lt;br /&gt;
===Goals of Developing Spatial Models===&lt;br /&gt;
&lt;br /&gt;
===Spatial Models in NumerusMB===&lt;br /&gt;
Spatial models in NumerusMB use a CellMatrix to represent the landscape of the simulation. A CellMatrix maintains and array of cells in either a cartesian or hexagonal lattice topology, in which individual cells are aware of the location and their neighborhoods. Conway's Game of Life [citation] is an example of such a model, with the cells turning “off” and “on” or “alive” and “dead” depending on the state of each individual cell's neighbors.&lt;br /&gt;
&lt;br /&gt;
==Network Based Models==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. &lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. NumerusMB includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in NumerusMB===&lt;br /&gt;
Agent based models in NumerusMB are models that make use of either an AgentVector, a SimWorld or a NetWorld. (The former combines an AgentVector with a CellMatrix that provides a simulated landscape for the agents to exist in; the latter uses a NodeNetwork for the same purpose.)  The ''SIR'' model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The ''Antz'' model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
NumerusMB has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of NumerusMB makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy NumerusMB programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the NumerusMB platform in order to implement powerful and complex dynamical system and agent based models. As described above, NumerusMB provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, NumerusMB has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize NumerusMB's capabilities we must first understand the basics of NumerusMB's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into NumerusMB's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of NumerusMB's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|NumerusMB Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within NumerusMB. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in NumerusMB may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental NumerusMB usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as NumerusMB's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Glossary&amp;diff=57</id>
		<title>Glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Glossary&amp;diff=57"/>
		<updated>2017-10-06T23:41:00Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Created page with &amp;quot;==A== ;active level:The capsule of a model project currently selected in the Capsule Set pane and displayed in the Model Canvas. ;AgentVector:An aggregating component that man...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==A==&lt;br /&gt;
;active level:The capsule of a model project currently selected in the Capsule Set pane and displayed in the Model Canvas.&lt;br /&gt;
;AgentVector:An aggregating component that manages its members as agents moving over a cartesian or hexagonal plane.&lt;br /&gt;
;aggregator:Also aggregating container and aggregating component. Refers to CellMatrices, AgentVectors, SimWorlds, NodeNetworks and NetWorlds. Aggregators hold multiple instances of their elements and create a virtual topology within which the elements operate. Members of aggregating containers must be Capsules.&lt;br /&gt;
;atomic component:Components such as Stocks, Terms, Flows, Commands, Codechips, etc., that do not have sub-components. They can only be members of Capsules.&lt;br /&gt;
&lt;br /&gt;
==C==&lt;br /&gt;
&lt;br /&gt;
;Capsule:Prototype for a simulation unit. Capsules contain interacting base and aggregating components, and chips, and may contain inputs and outputs.&lt;br /&gt;
;Capsule Interface:Also referred to as Interface. The set of DataInput and DataOutput components in a Capsule. They corrspond to pins in the enclosing Container.&lt;br /&gt;
:capsule set:The window of the Application Interface where the capsules of a model are listed.&lt;br /&gt;
;capture:A button that converts the visual representation of a NumerusMB model into a script.&lt;br /&gt;
;CellMatrix:An aggregating component that creates a two-dimensional cartesian or hexagonal topology with its members.&lt;br /&gt;
;cellular automaton:A type of spatially explicit model where space is represented as a two-dimensional finite grid and each cell has a discrete state.&lt;br /&gt;
;Chip:A Container component which contains a single Capsule for membership in a parent Capsule.&lt;br /&gt;
;Clock:A special object for maintaining model time and providing strobe signals to the components.&lt;br /&gt;
;Clocked Chip:A Chip with which a new Clock has been associated. Each strobe on the Chip produces a complete run of the enclosed Capsule instance based on the parameters of the associated Clock.&lt;br /&gt;
;Codechip:A programmable component with user-specified inputs and outputs.&lt;br /&gt;
;Command:A NumerusMB component containing executable code that changes the state of the program.&lt;br /&gt;
;component equation:Also called component expression. One or more lines of code included as a component property that defines the value of that component.&lt;br /&gt;
;console:The window of the Application Interface where you can enter commands one at a time.&lt;br /&gt;
;Container:Chip or aggregator component. A Container holds one or more Capsule instances (or submodels). The latter are called elements or members of the Container&lt;br /&gt;
;converter plug-in:A plug-in used to compute values used in updating the current state.&lt;br /&gt;
;Coords:Refers to a JavaScript object that contains fields row and col, representing matrix row and column values.&lt;br /&gt;
&lt;br /&gt;
==D==&lt;br /&gt;
&lt;br /&gt;
;delta value:The amount of time between state updates; also called dt.&lt;br /&gt;
;deterministic model:A model where the outcome is fully predictable from the initial state (i.e., no random effects).&lt;br /&gt;
;display plug-in:A plug-in used only for visualization.&lt;br /&gt;
;dynamic systems model:A model of a system that changes over time.&lt;br /&gt;
&lt;br /&gt;
==E==&lt;br /&gt;
&lt;br /&gt;
;Euler Method:A method of numeric integration that estimates P(t) as P(t-t) + P(t-t)t, where t is the change in time. Pronounced &amp;quot;Oiler method&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==F==&lt;br /&gt;
&lt;br /&gt;
;field:A property-name/property-value pair in a JavaScript object. Also refers to a stateful variable in a CodeChip.&lt;br /&gt;
&lt;br /&gt;
==G==&lt;br /&gt;
&lt;br /&gt;
;global segment:Section of the Programming Window containing global definitions.&lt;br /&gt;
&lt;br /&gt;
==I==&lt;br /&gt;
&lt;br /&gt;
;identifier:A text string (beginning with a letter) used as a property or local variable.&lt;br /&gt;
;integration method:Procedure used to iterate from ''t'' to ''t + dt'' when considering continuous functions.&lt;br /&gt;
;Interface:See [[#C|Capsule Interface.]]&lt;br /&gt;
;iteration:Step from time ''t'' to ''t + dt'' in the simulation.&lt;br /&gt;
&lt;br /&gt;
==L==&lt;br /&gt;
&lt;br /&gt;
;local variable:An identifier used as a variable within a specific Capsule instance.&lt;br /&gt;
;local variable segment:Section of the Programming Window containing local variables.&lt;br /&gt;
&lt;br /&gt;
==M==&lt;br /&gt;
&lt;br /&gt;
;member:Constituent of a Container.&lt;br /&gt;
;method:An object field that contains a function.&lt;br /&gt;
;method segment:Section of the Programming Window containing local methods.&lt;br /&gt;
;Model Canvas:The window of the Application Interface where the model is graphically designed and built from components.&lt;br /&gt;
;model time:Local simulation time in units determined by the model.&lt;br /&gt;
;Monte-Carlo:A model involving an element of chance (i.e., randomness).&lt;br /&gt;
&lt;br /&gt;
==N==&lt;br /&gt;
&lt;br /&gt;
;NetViewer:A plugin used to visualize the nodes in a network; either a NodeNetwork or NetWorld. &lt;br /&gt;
;NetWorld:An aggregating component that contains an AgentVector and NodeNetwork. The NodeNetwork determines the network topology where the agents exist. &lt;br /&gt;
;NodeNetwork:An aggregating component that creates a network (i.e. mathematical graph) topology in which its members are nodes.&lt;br /&gt;
;NumerusScript:A scripting language that was created specifically for designing and running models. NumerusScript is an extension of JavaScript.&lt;br /&gt;
&lt;br /&gt;
==P==&lt;br /&gt;
&lt;br /&gt;
;parent:Another name for the host of an aggregator.&lt;br /&gt;
;plug-in:A user-defined extension to NumerusMB that adds a new component type.&lt;br /&gt;
;post-processing (post-process):Actions required during the post-update phase.&lt;br /&gt;
;post-update:Actions taken after the current state is changed during an iteration.&lt;br /&gt;
;pre-update:Actions taken before the current state is changed during an iteration.&lt;br /&gt;
;primop:Short for primitive operator; a built-in JavaScript or NumerusScript function.&lt;br /&gt;
;Programming Window:The section of the NumerusMB interface in which the user may add code.&lt;br /&gt;
;project:All of the capsules, functions, clock settings, etc. associated with a model. When you open NumerusMB, you are working on a project.&lt;br /&gt;
;property:An identifier whose value is fixed throughout the simulation.&lt;br /&gt;
;property segment:Section of the Programming Window containing local properties.&lt;br /&gt;
&lt;br /&gt;
==R==&lt;br /&gt;
&lt;br /&gt;
;RunData:A special NumerusScript object that contains all of the output from a Stock during a complete run. Used to accumulate statistics.&lt;br /&gt;
;Runge-Kutta 2 Method:A method of numeric integration that employs a correction to each Euler method estimate.&lt;br /&gt;
;Runge-Kutta 4 Method:A method of numeric integration, where each approximation is weighted average of four estimates.&lt;br /&gt;
&lt;br /&gt;
==S==&lt;br /&gt;
&lt;br /&gt;
;schema or scenario:NumerusScript object used for defining a component. Acts like a class declaration for NumerusScript objects.&lt;br /&gt;
;self:state object binding referencing the component object.&lt;br /&gt;
;Self:Pointer to the state object of a simulator.&lt;br /&gt;
;simulation:A sequence of state transitions from a start time to an end time using a fixed time increment dt.&lt;br /&gt;
;simulator:Capsules, CellMatrices, AgentVectors SimWorlds, NodeNetworks and NetWorlds, all of which have constitutent members.&lt;br /&gt;
;SimWorld:An aggregating component containing a CellMatrix and AgentVector, in which the CellMatrix serves as the cartesian or hexagonal space in which the AgentVector's agents exist.&lt;br /&gt;
;start time:Point in model time when the simulation starts (usually 0).&lt;br /&gt;
;State Object:A special object referenced from Self in a simulator. For Capsules, it contains the current value for each member; for aggregating components it provides methods for obtaining the state object of members.&lt;br /&gt;
;stateful component:A component that keeps track of its value over time (e.g., Stock).&lt;br /&gt;
;stateful plug-in:A plug-in with state-values that persist between iterations.&lt;br /&gt;
;stateless component:A component that is only aware of its current value.&lt;br /&gt;
;stochastic model:A model that exhibits random effects.&lt;br /&gt;
;strobe:Action taken by each component at each iteration.&lt;br /&gt;
;super:component object binding referencing an object's container.&lt;br /&gt;
;Super:Pointer to the state object of the container of a simulator.&lt;br /&gt;
&lt;br /&gt;
==U==&lt;br /&gt;
&lt;br /&gt;
;underscore.js:A library of very useful functions included in NumerusScript; see http://underscorejs.org.&lt;br /&gt;
&lt;br /&gt;
==W==&lt;br /&gt;
&lt;br /&gt;
;wrap:The practice of treating coordinates outside the dimension of a cartesian space as continuing from the opposite boundary. Topologically, the resulting space becomes a torus.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Operational_Semantics&amp;diff=56</id>
		<title>Operational Semantics</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Operational_Semantics&amp;diff=56"/>
		<updated>2017-10-06T23:37:15Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This refers to the behavior of the NumerusMB simulating engine. To fully appreciate NumerusMB design concepts, you should first know something about how it works.&lt;br /&gt;
&lt;br /&gt;
Each simulation uses a '''clock''' to sequence its steps. The clock maintains a current '''model time''', starting at a specific '''start time''' (usually 0) and '''end time''', and incremented at each step by a '''delta value''' called '''dt'''.&lt;br /&gt;
&lt;br /&gt;
Each step, or '''iteration''' represents the progress of the system from its state at time ''t'' to its state at time ''t+dt''. The state of the system is comprised of the values of all Stocks, Sequences and Local Variables in all Capsules used by the simulation. The user must choose an integration method, which determines the process by which Stocks representing continuous functions are updated.&lt;br /&gt;
&lt;br /&gt;
At the beginning of the iteration model time is ''t'', and by the end it has been updated to ''t+dt''. During the iteration the computation “bootstraps” by drawing on previously computed values to compute the next generation. Depending on the integration method, model time may be updated incrementally through several substeps, however in systems dynamics models all processing is complete once model time has reached ''t + dt''. This may not be the case for other simulation types. Consequently, you will notice that some components (Commands and Codechips) provide a choice of pre-update or post-update for when they are to be executed. Those selected for pre-update use component values at ''t'' (or intermediate points, depending on the integration method), while those selected for post-update use the newly computed values for ''t + dt''.&lt;br /&gt;
&lt;br /&gt;
An iteration consists of a sequence of ''strobes'', which are actions taken at a step or substep, followed by post-processing, which is performed once at the end of the iteration when the clock has been updated to ''t + dt''. Here is a simplified summary of Capsule iteration:&lt;br /&gt;
&lt;br /&gt;
=== Strobe ===&lt;br /&gt;
* Strobe aggregates and chips&lt;br /&gt;
* Strobe stateful and converter plugins (explaned here)&lt;br /&gt;
* Strobe Stocks (i.e. compute their next values)&lt;br /&gt;
* Strobe pre-update Code Chips, Commands and converter plug-ins&lt;br /&gt;
* Update clock&lt;br /&gt;
&lt;br /&gt;
===Post Processing===&lt;br /&gt;
* Post-process aggregates and chips&lt;br /&gt;
* Strobe post-update Codechips and Commands&lt;br /&gt;
* Update displays and display plug-ins&lt;br /&gt;
* Perform any cleanup&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Operational_Semantics&amp;diff=55</id>
		<title>Operational Semantics</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Operational_Semantics&amp;diff=55"/>
		<updated>2017-10-06T23:36:39Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Created page with &amp;quot;This refers to the behavior of the Nova simulating engine. To fully appreciate Nova design concepts, you should first know something about how it works.  Each simulation uses...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This refers to the behavior of the Nova simulating engine. To fully appreciate Nova design concepts, you should first know something about how it works.&lt;br /&gt;
&lt;br /&gt;
Each simulation uses a '''clock''' to sequence its steps. The clock maintains a current '''model time''', starting at a specific '''start time''' (usually 0) and '''end time''', and incremented at each step by a '''delta value''' called '''dt'''.&lt;br /&gt;
&lt;br /&gt;
Each step, or '''iteration''' represents the progress of the system from its state at time ''t'' to its state at time ''t+dt''. The state of the system is comprised of the values of all Stocks, Sequences and Local Variables in all Capsules used by the simulation. The user must choose an integration method, which determines the process by which Stocks representing continuous functions are updated.&lt;br /&gt;
&lt;br /&gt;
At the beginning of the iteration model time is ''t'', and by the end it has been updated to ''t+dt''. During the iteration the computation “bootstraps” by drawing on previously computed values to compute the next generation. Depending on the integration method, model time may be updated incrementally through several substeps, however in systems dynamics models all processing is complete once model time has reached ''t + dt''. This may not be the case for other simulation types. Consequently, you will notice that some components (Commands and Codechips) provide a choice of pre-update or post-update for when they are to be executed. Those selected for pre-update use component values at ''t'' (or intermediate points, depending on the integration method), while those selected for post-update use the newly computed values for ''t + dt''.&lt;br /&gt;
&lt;br /&gt;
An iteration consists of a sequence of ''strobes'', which are actions taken at a step or substep, followed by post-processing, which is performed once at the end of the iteration when the clock has been updated to ''t + dt''. Here is a simplified summary of Capsule iteration:&lt;br /&gt;
&lt;br /&gt;
=== Strobe ===&lt;br /&gt;
* Strobe aggregates and chips&lt;br /&gt;
* Strobe stateful and converter plugins (explaned here)&lt;br /&gt;
* Strobe Stocks (i.e. compute their next values)&lt;br /&gt;
* Strobe pre-update Code Chips, Commands and converter plug-ins&lt;br /&gt;
* Update clock&lt;br /&gt;
&lt;br /&gt;
===Post Processing===&lt;br /&gt;
* Post-process aggregates and chips&lt;br /&gt;
* Strobe post-update Codechips and Commands&lt;br /&gt;
* Update displays and display plug-ins&lt;br /&gt;
* Perform any cleanup&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=36</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=36"/>
		<updated>2017-10-05T07:13:33Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Dynamical System Models==&lt;br /&gt;
Dynamical system models represent systems that change over time. Typical examples include a population of organisms, the flow of money in the economy, or a manufacturing process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of rules and equations that reflect how the system changes in a particular instant. By rendering these rules in a simulation program like Nova and letting it run, you can see how these momentary changes lead the system to develop.&lt;br /&gt;
&lt;br /&gt;
Fundamental to a dynamical system model is an abstraction of the parts of the ‘system’. Choosing the appropriate level of abstraction is very important. For example, if we are building a population model of honey bees, should the entire population be stored in a single number or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make. &lt;br /&gt;
&lt;br /&gt;
In general, it is best practice to make the model as abstract as possible while still getting meaningful results. There are two primary reasons, the first being a simple matter of conserving processing power. But more importantly, aggressively simplifying the model also simplifies analysis. It is the classic issue of the map and the territory. As the map becomes more detailed it also becomes harder to interpret, until the map and the territory become indistinguishable: perfectly accurate and perfectly useless. The art of modeling is in choosing the necessary level of detail to answer the question being asked.&lt;br /&gt;
&lt;br /&gt;
===Goals of Modeling Dynamical Systems===&lt;br /&gt;
Many people think the goal of modeling is prediction. Prediction is certainly desirable, but the reality is that few systems are simple enough to be predicted exactly. Error will always creep in, whether from subtle missing factors or uncertainty in raw data. But this doesn’t mean modeling is useless. Even though specific outcomes will always come with a high degree of uncertainty, models can tell us about sensitivity: which factors are important in the outcome. Modeling can also show where we are likely to see equilibrium points, and whether they will be stable or unstable. This can help answer very practical questions. Consider a model of a disease. Is the disease going to die out by itself or is it likely to explode? Are we better off trying to vaccinate people against it, or should we improve detection and treatment? What percentage of the population must be vulnerable to produce an outbreak? And given what we know, what are the most likely scenarios to plan for? These critical questions are precisely what computational modeling is designed to answer.&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models study the interaction of objects in space. Agents are objects with a specific set of rules, and can represent anything from ants to grains of sand. They move and interact in a simulated region of space. The interaction between the Agents, and sometimes their interaction with the landscape, are the core of this field. &lt;br /&gt;
&lt;br /&gt;
Agent Based Models are a useful tool for describing how complex behavior emerges from the interactions of the individual components. The classic agent based model is a flock of birds organizing itself based on the simple rules followed by each agent. Nova includes a number of examples including the Game of Life, the SIR model, and Antz.&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent Based Models are a tool, and like any tool they are better at solving some problems and worse at solving others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with. It is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is large systems whose group behavior is important. In the flocking model discussed above, the individual behavior of the birds is meaningless and even distracting. But when seen in the context of the larger group, important trends appear from the noise that define the model's behavior.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in Nova===&lt;br /&gt;
Agent based models in Nova are models that make use of either an agent vector or a cell matrix. Models that use both of these are known as Sim Worlds. The game of Life is an example of a model that uses only a cell matrix, with the cells turning “off” and “on” or “alive” and “dead” depending on the state of each individual patch’s neighbors. The SIR model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The Antz model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
Nova has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of Nova makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy Nova programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the Nova platform in order to implement powerful and complex dynamical system and agent based models. As described above, Nova provides an impressive range and versatility of components to effectively execute both Dynamic Systems and Agent Based models. In addition, Nova has the capability to implement designs using specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize Nova's capabilities we must first understand the basics of Nova's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into Nova's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of Nova's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|Nova Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within Nova. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in Nova may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental Nova usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as Nova's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=35</id>
		<title>Modeling 101</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Modeling_101&amp;diff=35"/>
		<updated>2017-10-05T05:58:25Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Created page with &amp;quot;==Dynamical System Models== Dynamical system models mimic systems that change over time. Typical examples might include a population of organisms, the flow of money in some pa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Dynamical System Models==&lt;br /&gt;
Dynamical system models mimic systems that change over time. Typical examples might include a population of organisms, the flow of money in some part of the economy, or a materials process. What each of these diverse ‘systems’ have in common is that they change over time.&lt;br /&gt;
&lt;br /&gt;
At the heart of a dynamical system model is a set of equations, or in some cases rules, that reflect how the system changes over a very tiny slice of time. By plugging these rules into a simulation program like Nova and letting it run for a whole bunch of time steps, you can see what happens.&lt;br /&gt;
&lt;br /&gt;
Implicit in a dynamical system model is a definition, or more accurately an abstraction, of the parts of the ‘system’. For example, if we are building a population model of honey bees, should all individuals be clumped together in a single number for the population size, or should they be divided by age class? What processes, such as birth and death, should be included in the model, and which ones can be ignored? These are the types of decisions modelers have to make.&lt;br /&gt;
&lt;br /&gt;
===Goals of Modeling Dynamical Systems===&lt;br /&gt;
Many people think the goal of modeling is prediction. Prediction is great, but the reality is that few systems are simple enough to be predicted with any degree of certainty. That doesn’t mean modeling is useless. Even though we might not want to bet much money on the specific outcome predicted by the model, models can tell us which factors are really important in the outcome (i.e., sensitivity), and also where we’re likely to see equilibrium points and whether they’ll be stable or unstable. This could help for example answer very practical questions such as – is the disease going to die out by itself or is it likely to explode? Are we better offer trying to vaccinate people against a specific disease, or should we improve detection and treatment of sick people?&lt;br /&gt;
&lt;br /&gt;
==Agent Based Models==&lt;br /&gt;
Agent based models are models that use discrete objects with a specific set of rules that interact in a simulated region of space. They are a useful tool for describing complex systems by their constituent parts and seeing how these rules alter the large scale behavior of the system. Examples of agent based models include the Game of Life, the SIR model, and Antz (all of these models are contained within the Nova Model Library).&lt;br /&gt;
&lt;br /&gt;
===Advantages and Disadvantages===&lt;br /&gt;
Agent based models have a lot of positive and negative characteristics that make them useful for modeling some things, but not so good for modeling others. They tend to be a bit harder both conceptually and practically to put together, since they have more components to them than simple analytical models. Despite this, however, they generally require a smaller base of knowledge about the system that someone is trying to model. It is easy, for example, to know that someone who is sick has a certain probability of infecting someone they interact with, but it is more difficult to come up with an equation to demonstrate the rate at which someone infects other people without knowing how often they interact, how contagious they are, and whether or not people they interact with are susceptible to infection or not. In this situation, it makes sense simulate a spatial dimension in order to make up for information that is not necessarily obvious. Another situation in which agent based models shine is with large systems whose group behavior is important. In the Flock model, the individual behavior of the birds is somewhat meaningless, but when seen in the context of the larger group, important trends begin to appear that really define the whole model.&lt;br /&gt;
&lt;br /&gt;
===Agent Based Models in Nova===&lt;br /&gt;
Agent based models in Nova are models that make use of either an agent vector or a cell matrix. Models that use both of these are known as Sim Worlds. The game of Life is an example of a model that uses only a cell matrix, with the cells turning “off” and “on” or “alive” and “dead” depending on the state of each individual patch’s neighbors. The SIR model is an example of an agent vector, with agents moving about an open space in three possible states, Susceptible, Infected, and Recovered. The Antz model is a more complicated model that uses both an agent vector and a cell matrix in order to simulate how ants collect food and leave a path for other ants to follow in order to find the same food.&lt;br /&gt;
&lt;br /&gt;
Nova has a lot of tools that make agent based models simpler and more robust. In particular, it is very easy to have access to all agents and cells from each individual agent, and to incorporate a wide variety of local and global effects. It also makes it simple to set up multiple Sim Worlds in order to see various outcomes simultaneously. It is also built on arrays and methods, which makes it simple to work on a small level to tweak the model to the user’s liking. On the other hand, the visual side of Nova makes it so that it is easy to quickly and efficiently set up the shell of an agent based model and immediately get down to the more important details involved in the model. A savvy Nova programmer will begin an agent based model visually and slowly transition over to handling the methods and functions in a more programming heavy reference frame.&lt;br /&gt;
&lt;br /&gt;
==Basic Model Design==&lt;br /&gt;
&lt;br /&gt;
It is important to grasp the extent of the Nova platform in order to implement powerful and complex dynamical system and agent based models. As described above, Nova provides an impressive range and versatility of components to effectively execute both types of models. In addition, Nova has the capability to implement designs using properties of both dynamic systems and agent based models as well as specialized analysis like '''Perceptrons''' and other Neural Network prediction algorithms. To utilize Nova's capabilities we must first understand the basics of Nova's '''Chip''' component and '''Population Models'''. &lt;br /&gt;
&lt;br /&gt;
*Jump into Nova's [[Operational_Semantics|Operational Semantics]] here.&lt;br /&gt;
&lt;br /&gt;
*Get a run through of Nova's [[Frames,_Menus,_Toolbars,_Pallets|GUI here]]. &lt;br /&gt;
&lt;br /&gt;
===Chip Basics===&lt;br /&gt;
&lt;br /&gt;
As the [[Glossary|Nova Glossary]] states, a '''Chip''' is a Container component which contains a single '''Capsule''' instance. A '''Capsule''' is a prototype for a simulation unit. It contains base components and may contain other chips, inputs, and / or outputs. These definitions may appear a bit vague or broad, however, that is simply because '''Chips''' and '''Capsules''' are widely used in a variety of ways within Nova. &lt;br /&gt;
&lt;br /&gt;
Chip structure and usage in Nova may best be understood through example. Click [[Using_Chips:_Example|here]] for an example of using a preexisting model (from the Model Library) and manipulating the ideas of model layers and chips. &lt;br /&gt;
&lt;br /&gt;
===Population Model 101===&lt;br /&gt;
&lt;br /&gt;
See the [[Example_1:_Simple_Population_Model|Simple Population Model]] tutorial in the Model Library. This tutorial demonstrates fundamental Nova usage, including how to operate the Graphical User Interface, or '''GUI''', and its algorithmic and mathematical design. You will see basic usage of the ''Modeling Canvas'' and the ''Dashboard'' as well as Nova's intuitive mathematical design.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=34</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=34"/>
		<updated>2017-10-05T05:56:54Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Written Tutorials==&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
:[[Modeling 101]]&lt;br /&gt;
:[[Introduction to the Interface]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Video Tutorials==&lt;br /&gt;
Video tutorials are a great way to jump into the Nova platform. These tutorials will walk you through the basics of Nova, including basic system dynamic models, agent-based models, and NovaScript.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=33</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=33"/>
		<updated>2017-10-05T05:56:26Z</updated>

		<summary type="html">&lt;p&gt;Iburns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Video Tutorials==&lt;br /&gt;
Video tutorials are a great way to jump into the Nova platform. These tutorials will walk you through the basics of Nova, including basic system dynamic models, agent-based models, and NovaScript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Written Tutorials==&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
:[[Modeling 101]]&lt;br /&gt;
:[[Introduction to the Interface]]&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Introduction_to_the_Interface&amp;diff=32</id>
		<title>Introduction to the Interface</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Introduction_to_the_Interface&amp;diff=32"/>
		<updated>2017-10-05T05:54:06Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Created page with &amp;quot;==Introduction to the Interface== click [enter link to video tutorial here] to view the video tutorial introducing you to the interface through the task of building a simp...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to the Interface==&lt;br /&gt;
click [[[enter link to video tutorial here]]] to view the video tutorial introducing you to the interface through the task of building a simple population model.&lt;br /&gt;
&lt;br /&gt;
(The following script will be included in the video tutorial): &lt;br /&gt;
&lt;br /&gt;
The purpose of this tutorial is to guide you through commonly used features and settings of the NMB desktop application, as well as establish terminology we will refer to in later tutorials.&lt;br /&gt;
&lt;br /&gt;
When you download and open up the NMB Application you will see a window as follows, which displays the main model building space, or the Modeling Canvas, The Tool Drawer on the left-hand side of the window, the Definition Drawer on the right-hand side of the window, and the Navigation Bar on the top of the window.  (see figure A)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[figure A]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preferences==&lt;br /&gt;
&lt;br /&gt;
Before we continue with a tour I would like to note that there several user preferences which will dictate the structure of features.  You can find these Preferences by opening the “File” option on the top Navigation Bar.  Scroll down the options under “File” and select “Preferences” at the bottom.  A popup window will provide three preference options: 'Full Mode versus SD / Development Mode, Connector Lines versus Connector Curves, and White Background versus Black Background. (See figure B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Figure B]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first option allows you to choose the location of the '''Simulation Controls''' (running, pausing simulation) and the model output, what we will refer to as the '''Dashboard'''.  (ask Wayne why he prefers this preference--I recommend the '''Full Mode''' if continuous shifts between model building and testing will not be required, for example, if you are building a model from a template or have imported a model to study.  I recommend the '''SD / Development Mode '''('''SD Mode''' for short) if you are building an original model, and will need to periodically edit model structure and simulate behavior.  This preference is common in System Dynamics – Based software, hence the “SD” title of this preference, where access to viewing model structure and behavior are important in the model building process.  &lt;br /&gt;
&lt;br /&gt;
The '''Dashboard''' in the SD Mode preference is located in one of the two drawers on the right-hand side of the application window, next to the '''Definition Drawer'''.  You can move these by selecting and dragging each of the thin grey bars into the main space.  The Dashboard in the Full Mode is located through first opening the '''Tool Drawer''' on the left-hand side of the application window, (you can move this by selecting and dragging the thin grey bar into the main space).  The Launch button on the top of this drawer will open up the new Dashboard window which contains the Simulation Controls and model output.  Notice that clicking Launch in the SD Mode preference will activate the Simulation Tools at the bottom of the application window.&lt;br /&gt;
&lt;br /&gt;
'''Connector Lines''' link variables in your model with straight lines versus '''Connector Curves''' which offers the option of curved links.  I recommend the Connector Lines preference if you are concerned more so with the mathematical equations within the model than the aesthetic appearance of the model.  I recommend the Connector Curves if you often use the visual display of the model structure to aid in understanding the logic.  For example, SD users prefer to build feedback loops with connector curves.  (see SEIR model examples for a demonstration of two ways to build the same SEIR model according to two line preferences).  &lt;br /&gt;
&lt;br /&gt;
The last preference is a choice between a '''White Background''' and '''Black Background''' for the Modeling Canvas which is purely an aesthetic choice.  &lt;br /&gt;
&lt;br /&gt;
The preferences you see during this tutorial are for SD Mode, Connector Curves, and White Background.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=31</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=31"/>
		<updated>2017-10-05T05:53:42Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Replaced content with &amp;quot;==Tutorial Index==    ===Getting Started=== :Modeling 101 :Introduction to the Interface&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tutorial Index==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
:[[Modeling 101]]&lt;br /&gt;
:[[Introduction to the Interface]]&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
	<entry>
		<id>https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=30</id>
		<title>Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.numerusinc.com/index.php?title=Tutorials&amp;diff=30"/>
		<updated>2017-10-05T05:53:09Z</updated>

		<summary type="html">&lt;p&gt;Iburns: Make Tutorials a landing page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Tutorial Index==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getting Started===&lt;br /&gt;
:[[Modeling 101]]&lt;br /&gt;
:[[Introduction to the Interface]]&lt;br /&gt;
&lt;br /&gt;
==Introduction to the Interface==&lt;br /&gt;
click [[[enter link to video tutorial here]]] to view the video tutorial introducing you to the interface through the task of building a simple population model.&lt;br /&gt;
&lt;br /&gt;
(The following script will be included in the video tutorial): &lt;br /&gt;
&lt;br /&gt;
The purpose of this tutorial is to guide you through commonly used features and settings of the NMB desktop application, as well as establish terminology we will refer to in later tutorials.&lt;br /&gt;
&lt;br /&gt;
When you download and open up the NMB Application you will see a window as follows, which displays the main model building space, or the Modeling Canvas, The Tool Drawer on the left-hand side of the window, the Definition Drawer on the right-hand side of the window, and the Navigation Bar on the top of the window.  (see figure A)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[figure A]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preferences==&lt;br /&gt;
&lt;br /&gt;
Before we continue with a tour I would like to note that there several user preferences which will dictate the structure of features.  You can find these Preferences by opening the “File” option on the top Navigation Bar.  Scroll down the options under “File” and select “Preferences” at the bottom.  A popup window will provide three preference options: 'Full Mode versus SD / Development Mode, Connector Lines versus Connector Curves, and White Background versus Black Background. (See figure B)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Figure B]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first option allows you to choose the location of the '''Simulation Controls''' (running, pausing simulation) and the model output, what we will refer to as the '''Dashboard'''.  (ask Wayne why he prefers this preference--I recommend the '''Full Mode''' if continuous shifts between model building and testing will not be required, for example, if you are building a model from a template or have imported a model to study.  I recommend the '''SD / Development Mode '''('''SD Mode''' for short) if you are building an original model, and will need to periodically edit model structure and simulate behavior.  This preference is common in System Dynamics – Based software, hence the “SD” title of this preference, where access to viewing model structure and behavior are important in the model building process.  &lt;br /&gt;
&lt;br /&gt;
The '''Dashboard''' in the SD Mode preference is located in one of the two drawers on the right-hand side of the application window, next to the '''Definition Drawer'''.  You can move these by selecting and dragging each of the thin grey bars into the main space.  The Dashboard in the Full Mode is located through first opening the '''Tool Drawer''' on the left-hand side of the application window, (you can move this by selecting and dragging the thin grey bar into the main space).  The Launch button on the top of this drawer will open up the new Dashboard window which contains the Simulation Controls and model output.  Notice that clicking Launch in the SD Mode preference will activate the Simulation Tools at the bottom of the application window.&lt;br /&gt;
&lt;br /&gt;
'''Connector Lines''' link variables in your model with straight lines versus '''Connector Curves''' which offers the option of curved links.  I recommend the Connector Lines preference if you are concerned more so with the mathematical equations within the model than the aesthetic appearance of the model.  I recommend the Connector Curves if you often use the visual display of the model structure to aid in understanding the logic.  For example, SD users prefer to build feedback loops with connector curves.  (see SEIR model examples for a demonstration of two ways to build the same SEIR model according to two line preferences).  &lt;br /&gt;
&lt;br /&gt;
The last preference is a choice between a '''White Background''' and '''Black Background''' for the Modeling Canvas which is purely an aesthetic choice.  &lt;br /&gt;
&lt;br /&gt;
The preferences you see during this tutorial are for SD Mode, Connector Curves, and White Background.&lt;/div&gt;</summary>
		<author><name>Iburns</name></author>
	</entry>
</feed>