A brief introduction to World ModelerTM
◂ Prev Next ▸
What is World Modeler?
World ModelerTM is a software platform developed by Quantellia, a US-based software company that specializes in interactive decision modeling and machine learning. World Modeler allows models to be created and maintained in a controlled environment, similar to a document management or source control system (we will see what a "model" is in the next section). It includes an enterprise servier that allows other applications to select a model, have that model automatically populte relevant values from specified data sources, have other values specified by the user or other systems, and then run the model. The model can be run once, with the specified values, or it can be run continuously, with parameters generated randomly or according to a distribution, in order to support simulations.
The structure of models in World Modeler
Models in World Modeler are represented as a hierarchy of objects, with a single ModelRoot object at the root. Each level of the hierarchy is reviewed below.
ModelRoot
This is the root element of the model. It stores the name of the model. The ModelRoot contains a single Package (see below) referred to as the Root Package, under which the rest of the model is contained.
Package
Packages contain other model elements (including sub-packages) and behave the same way as folders or directories in a file system(as the image sugests). The name of each Package must be unique among the sub-packages owned by the same parent Package.
EntityDefinition
EntityDefinitions play the same role in World Modeler models as classes do in object-oriented design, or tables in relational databases. That is, they represent a logical object whose properties are stored as an un-ordered list of attributes (see below), or columns. Note that we use Entity Definition to refer to the logical structure of type of entity, and Entity Instance to refer to a data record (a set of n values, where the ith value corresponds to the ithattribute).
AttributeDefinition
AttributeDefinitions define the individual properties of each EntityDefinition, just as columns define the values stored in each row of a database table. However, in a World-Modeler model, the value of an Attribute can be set either by direct assignment, or by defining a Formula that sets the value of the Attribute it belongs to in each instance of the attribute's parent Entity every time the model is run. Note that (i) Attributes can be of any type (integer, real/float/double/decimal, string, date, date-time, reference to another entity, array, table, etc.), and (ii), that one or more Attributes may be nominated as the key for the Entity to which they belong. This has the same meaning as a key column in a relational database.
Formula
Each AttributeDefinition (see above) may contain one or more Formulas that are run a certain times as the model executes to define the value of their parent Attribute. For example, if a formula contains the expression Base + 4, then the Attribute it belongs to will be set to the current value of the Attribute named Base with 4 added. Source-code expressions like this are just one of four possible ways the value calculated by a formula can be specified. The complete list of these is given below.
A source code expression in C# or R
The value returned by a formula can be defined as a source code expression written in either the C# or R languages (World Modeler contains a C# compiler and R interpreter to evaluate these expressions when the model is running).
A Sketchgraph, which defines a single-parameter function that is displayed as a line graph that the user can visually shape. This is often a powerful way to capture expert knowledge when quantitative data is not available.
A Lookup Table, which is similar to the Sketchgraph, with the difference that the control points are specified in a table, rather than as a visual depiction of the graph that connects the control points.
x=...
Direct assignment using API calls that set a specific model Attribute to a specific value.

Part of the RFM Core Model as shown in World Modeler.
The next section describes some important concepts in how World Modeler models are executed.

◂ Prev Next ▸