Design Concepts

From Numerus
Revision as of 17:21, 26 March 2020 by Rsalter (talk | contribs)
Jump to navigation Jump to search

Numerus Platforms

Numerus Model Builder uses two separate platforms for creating and running simulations. The design platform represents capsules and components visually and interacts with the user to capture the content and relationships among model elements. It subsequently represents this visual model in a textual program using the Novascript language. The runtime platform is an execution environment for interpreting the Novascript program and carrying out the simulation. The workflow is depicted below

Process.png

Numerus has implemented several runtime platforms. Along with the Java-based platform JNSRT (Java Novascript Runtime) included with Numerus Model Builder, there are two runtime platforms for Web-deployed simulations; one in Javascript for browser-side execution and a second (under development) for server-side execution,

Structure of a Novascript Program

A Novascript (NS) program captures in text the content and structural relationships presented by the visual user-designed model. A sample Novascript program is shown on the right.

Sample NS Program

It consists of the three sections shown below.

Outline of NS program


Globals.png

The Globals section contains all globally defined variables, constants, functions and parameters. The order in which they are loaded is shown here. (The Prelude, etc. sections of the NMB Desktop are described below).

Schemas.png

The Schemas section is a list of class definitions, one for each capsule contained in the model. A schema contains entries for each component (including code chips, controls, displays and plug-ins), and local methods. Entries for those components that are rich with properties (e.g. sliders, graphs, etc.) only specify input connections in their schema entries. All additional properties are contained in the Properties section.

Properties.png

The Properties section details the definitions of property-rich components with entries defining their properties.