September 12, 2024 - Stella 3.7.2
Release notes when opening a new version
These Release Notes will now open automatically the first time you start software that has
been upgraded to the most recent version. They include changes made in the most recent
version, as well as a running list of all changes going back to version 1.0.1. The videos
(denoted by ) provide brief introductions to many of the new features.
Connector enhancements (video)
It is now possible to label connectors to increase the readability of diagrams, especially Causal Loop Diagrams.
This is done from the Styles Tab for Building Blocks. The polarity symbol can also be set to appear in the middle
of the connector rather than just at it head.
See Connectors for more discussion.
Modules in CLDs
There is now a module tool available when Creating CLDs. This provides more flexibility in organizing your diagrams.
Learn More
Loop Scores with Loop Label appearance
When you add a Loop Score variable (see Converters) to a model it is now possible to configure
it to have the same appearance as Loop Labels.
Loop Score variables are normally created from
the Loops Panel and their appearance
is controlled from the Equation Tab as List.
Loop and Pathway Score variables also now allow you to highlight the loop or pathway that they represent
the same way you can highlight Loop Label contents from the Context Menu or the panel.
Sliding time windows in graphs (video)
It is now possible to configure graphs to display a window of time (for example 10 weeks),
with the final time in that window controlled from the Run Toolbar. This option is set in
the Graph Settings Properties Panel.
Results Panel enhancements (video)
The Results Panel now has an option to accumulate values. This provides a quick way to see the total
amount that flows add up to and can be helpful when reviewing and comparing noisy data.
It is also possible to lock the displayed time span allowing you to zoom in on different time ranges and
then sliding the window across the full time range, similar to the sliding time window in graphs.
Learn More
Scales and ranges used directly in sensitivity setup
When setting up Sensitivity Analysis the scales and ranges setting for variables will be used to set minimum
and maximum values for selected variables. If you do not override these values, and later change the variable
on the Scales and Ranges Tab of the properties panel the updated values will be used.
Entry age for time stamped material (video)
When a flow is marked as time stamped on the Equation Tab there
is now an option to set then age of the material entering to something other than 0. This
makes it easier to configure models using Attribute and Cycle Time Tracking.
Speedup of RUNCUM, RUNMIN, RUNMAX
These builtins will now compute much more quickly for models that simulate for many DTs.
Controlled on demand imports now labeled On Demand
The label is shown in the Parameter Control Panel. This makes it easier to understand the source of the value.
Learn More
July 22, 2024 - Stella 3.7.1
CLD Loops panel (video)
We have added a Loops panel to Casual Loop Diagrams that identifies all of the loops in the diagram and allows
you to highlight them and add Loop Labels for them.
Details in CLD Loops Panel.
Loop Label improvements (video)
You can now attach a name to Loop Labels that will appear at the bottom, this is in addition to
the text that appears inside of the arrow.
The documentation on Loop Labels can now be entered in the same place as the name and marking.
Highlighting of loops based on the Loop Label now follows the format of highlighting used with Loops that
Matter - the highlighted loop draws normally, while all remaining structure is grayed. In addition,
it is possible to lock the highlighting of one or more Loop Labels in place allowing multiple loops
to be highlighted and facilitating copying and pasting to other applications. Learn more
Highlighting of causes and uses on the model diagram (video)
The same type of highlighting that occurs with the Loop Label can also be applied using the Context Menu
which will highlight a variable and its causes or uses. The highlighted variables can be added to in order
to extend the selection as broadly as desired. Learn More
Documentation on hover
In Map mode (as selected from the Mode Toolbar)
as well as in the CLD Window, documentation on variables
now appears on hover making it easier to see all documentation without selecting a specific variable.
Better looking CLDs
The drawing of connectors into and out of name only variables has been adjusted to provide more space between
the connector and the variable improving the appearance of the diagram.
CLD Documentation (video)
The CLD Documentation Viewer provides support for documenting CLDs including listing the loop labels,
variables and connectors along with other information they contain. Learn More
More flexible positioning of polarity symbols
Polarity symbols can not be placed either next to the arrowhead or on the stem toward the source
of the connector. This is controlled from Styles Tab for Building Blocks when a connector or
connectors are selected. Learn More
More control of polarity markings
In addition to the +/- s/o distinction for causal connections you can also choose to hide the
labels themselves. This allows other conventions, such as color, to bu used in causal loop
diagrams. This preference is set in the Model Settings Properties Panel and also in the
CLD Style Properties Panel.
New selection capabilities
In addition to selecting all connectors, it is now possible to select the connecters included in the
current selection. This makes it easier to change colors or appearance for portions of a model.
It is also possible to select connectors marked with a negative polarity, a positive polarity,
or not marked with a polarity. Learn More
Find replace on tags
We have extended the Find and Replace Dialog to allow changes to tags associated with a variable (and kept tag
changes out of documentation changes). Learn More
Easier run reproduction (video)
It is now possible to have all constants and graphicals in an existing run set to control values in the current
run. This can be done from the Load Parameters dialog.
It is also possible to load parameters from sensitivity
runs that are still in the Data Manager
but marked partial. This does require the sensitivity be run from Version
3.7.1 or later to work correctly.
Correlation tables
A new option on comparative tables that will show correlation values that are available in the Correlation Graph.
This is set from Table Properties
and is available only on the model. It is helpful for exporting values.
New find option
There is now an option on the Find window to show only variables that are module inputs
(cross-level ghosts) and those that are not. This makes it easier to find where variables are coming from and
ending up when working with model that have many modules. Learn More
Improved behavior when renaming variables causes a conflict
If you try to name a variable to a name that is already used, or is a builtin function, rather than returning
the original name the name you have selected will be made unique by appending a number, and remain opened for editing.
More consistent cycle time output
The Cycle-time builtins builtin now returns the previous value when a flow becomes 0, rather than returning
0, and also anticipates the next cycle time for arrested conveyors. This makes it more convenient to
report cycle times without having to write special equations. Learn more
Better help for Builtin Functions
Right clicking on a builtin name in the equation box of the Equation Tab will now allow you to open the
help entry associated with that builtin using the Context Menu.
Stella Simulator error handling
Stella Simulator will now output any divide by 0 messages to the console, and also return 1 to indicate
an abnormal completion. Previously it would finish silently and report success even through the results
would be partial.
May 23, 2024 - Stella 3.7
Box and whisker graphs (video)
Box and whisker graphs allow you to show uncertainty over a series of realizations of an uncertain
value. They, importantly, allow comparative display across different uncertain scenarios when set up
across array elements as described in Box and Whisker Graph.
Learn More
Confidence graphs (video)
Confidence graphs allow you to see the spread of outcome across either multiple runs or multiple array elements.
Models that had comparative line graphs set up with the option to plot confidence values will automatically
be translated into the new graph type. The option to plot confidence values no longer appears on the line graph.
Learn More
Correlation graphs (video)
Correlation graphs allow you to see the relationship over time of different variables across sensitivity
runs. This is a an effective way to explore the important determinants of behavior for selected variables.
Learn More
More control over line graph appearance
In addition to numbers, you can also mark graph lines with letter and symbols. See Line Graph for
details. The Correlation Graph also supports this.
The Line Graph also has a new option to draw series with stepwise connections between points,
so that the graph lines consists only of horizontal and vertical segments with no interpolation
between them. See Graph Series Property Panel for details.
Graph selection from dropdown
Rather than selecting graph types by clicking on a radio button, they are now selected from a dropdown list of types.
This makes it easier to see which types of graph you will be adding. Learn More
CLD generation based on tags (video)
To create a CLD from a set of tagged variables simply click on CLD View in the Mode Toolbar.
This will bring up the CLD Tag Selection dialog box which will allow you to specify which tags to use.
The resulting CLD is the same as those created using Loops that Matter as discussed in CLD Generation.
Selecting array elements to display (video)
Tables and graphs, including the Results Panel, allow you display all elements of an array together. For
large arrays this can be cluttered, and the new Array Selection Panel allows you to select which elements
of an array you would like to see values for.
Improvements to arrayed equations (video)
Version 3.7 contains a number of changes that make it easier to work with arrayed variables and their equations.
A CONTAINS keyword has been added that provides a quick way of testing whether the current element in an array
is contained in a subrange of the array. This can simplify equations that might depend on nested IF THEN ELSE
to do these tests, and also improves maintainability. See Subranges for more discussion.
Non Apply-To-All (a2a) equations now allow the use of dimension names in equations, making it easier to set multiple entries
to the same equation. See Creating Arrayed Variables
and Arrayed Equation editing dialog for
more details.
Filling in new array elements
An option has been added to the Array Editor dialog box to duplicate array elements. This allows
the expansion of arrays by replicating non a2a equations from the specified source (for example
repeating a constant value). See also the Array Element Duplicate dialog box.
Graphical improvements (video)
Graphicals now have an option to repeat changes made to a y value for all following y values
when changing values in a table as described in Graphical Function Tab. This makes it easier
to change a number of values at once, especially on the interface.
The Graphical input (Interface) has also been extended to allow control over how the dialog
first displays (graph or table) and whether the interface user can switch between them.
Color palettes for global graph styles (video)
We have added some useful color pa lattes to the Global Graph Styles Properties Panel. This makes it
easier to change the sequence of colors displayed in graph. Learn More
Sensitivity and optimization selection on the interface (video)
When selecting sensitivity or optimization as a button, it is now possible
to select which sensitivity or optimization specifications to use. Learn More
Improvements to the Parameter Control Window (video)
The Parameter Control Panel now allows you to reorder the entries and keep them in place as you reset
inputs and after saving and reopening a model. This makes it much easier to keep track of changes that
are being made in the current run.
It is also possible to control graphicals directly from this panel, in addition to controlling them from the
Results Panel. This makes it possible to temporarily change a graphical without entering Stella Live or using
the interface, and also keeps all the changes in one place.
Setting variable colors by tag (video)
The color and fill color displayed by variables can be set by tag from the Model Style Properties Panel.
This allows you to customize your model appearance without changing individual variables and has the advantage
that changing the tag for a variable from the Documentation Tab of the properties panel is all that is necessary
to change its color.
February 29, 2024 - Stella 3.6
Variable tags (video)
Tags are text you an attach to model variable using the Documentation Tab.
They allow you to search
for and select using the Find window,
export using the Export Data dialog box, or omit from
the Equation Viewer. They make it easy to group and organize variables in any number of ways
to apply different characteristics such as number formatting.
Array element display label imports
When importing data from the interface (published or on the desktop) it is now possible to set the
array element display labels using Import as described in Actions (Interface). This allows customization
of the interface to reflect, for example, the country under study. Learn More
Specifying import files for the interface (video)
In addition to being able to import display labels, you can also provide files to be imported when a
button is pressed as described in Actions (Interface). These files will be available when published
and can be used to load data and array element labels for different interface configurations. Learn More
Full model navigation on interface (video)
When using the Model View object
(or Storytelling) it is now possible to have the diagram be navigable
between different modules. Double clicking on a module will open it, and there are up and home buttons
for navigating to parent modules just as there are when editing models.
Ghosting of modules (video)
It is now possible to create ghosts of modules using the tool in the Model Build Toolbar.
This allows you to decrease clutter in the diagram. Module ghosts can only be placed in the
same model the module resides in (no cross-level module ghosts are allowed). You change
connecters starting from the module to starting from a ghost of it by drawing the connector
from the ghost. Similarly, it is now possible to move connectors starting from a variable
and going into a module to start from a ghost of that variable by redrawing them. None of
these changes have any impact on model structure and the dialog that used to appear asking
if you want to continue is no longer shown. Learn More
More Find functionality (video)
The Find window now allows you to filter for constants, non-constants, unused variables, and module
outputs used to create cross level ghosts. There is also an option to select based on Tags as noted
above. Also, typing in a module qualified name will show all variables in that module in addition to
cross-level ghosts. Learn More
On demand control imports
On demand imports defined in the Import Data dialog box can now be set to control values, rather than
replacing equations. The controlled values are treated as user controlled, and will be marked this way
in the Parameter Control Panel.
Improved graph and table pasting
Graphs and tables moved from one module in a model to another will retain their content regardless of the
relative location of the variables being displayed. This allows copy and pasting of graphs and tables
without having to ensure that cross-level ghosts are created to support the pasted content.
Run name cleanup (video)
When you save runs or lock runs in the Data Manager it no longer causes the run names to have increasingly large numbers.
Instead, runs are named based on the number of active runs showing, with a check to be sure that the name is unique.
If there are runs with numbers in the list the next run will have a number one larger. If the active runs do not have
numbers, the next run will have the default number 1. Learn More
Opening data files as models (video)
It is now possible to open csv or txt files that are set up with import data as models. This is a
convenient way to generate the variables necessary to support imports, and also to just look at data.
These files are open from the File Menu just as models are, but will create a new model with the
variables in the file and set up the import link so that you can look at values in Stella by running
the model. You can also copy and paste the imported elements to other models if you only need to
import a subset of the data. Learn More
Messages for binding non-negativity constraints
When Stella prevents a negative value in a uniflow, constrains outflows to keep a stock non-negative, or constrains
inflows because of a capacity constraint in a conveyor it will highlight the associated variables in yellow. In
addition to this highlighting, there will now be a dropdown in the Run Toolbar that will navigate to the constrained
variables. There is an option in the Preferences Dialog to turn this off. It must also be turned off in the
Model Settings Properties Panel for the model you are working with.
Fewer unnecessary file changes
Modules that are saved in separate files are now only written out if they have been changed.
This is intended to make working on projects with a number of different contributors easier,
as there will not be any changes made to module files that are not themselves changed.
Learn more
Simpler array element naming
It is no longer necessary to use quotes for array elements that have special characters in them when editing in the Array Editor dialog box. The quotes will be added
automatically when they are needed (for example in equations). Learn More
More control over table appearance
It is now possible to separately set alignment on the row and column table headers separately from the table cell alignment. Learn More
Native tooltips for buttons
An option to use the native tooltip has been added to the Button (Interface). Learn More
More control over gauge appearance
There is now an option to hide the units of measure in the Gauge (Interface). Learn More
More complete causes and uses navigation
The causes and uses entries on the Context Menu has been enhanced to show more clearly the module relationships for
variables used in modules different from where they are defined. Learn More
December 14, 2023 - Stella 3.5.1
Display labels for array elements
Display labels for array elements permit the use of more descriptive text for array labels while allowing
the labels used in equations to be shorter. Display labels will appear in graphs, tables, and input devices
including the Selector
when configured for array selection. They can include any characters and do not need
to be quoted. Display labels are defined in the Array Editor dialog box,
and can also be imported as
discussed in Setting Up Import Links.
Better table labeling for arrays
When you are working with Tables and add an array using *, the table title will change to the name of the
variable and the entries to the names of the array elements. This is the same way that graph labeling works.
This is only used when the table has single arrayed variable and a * has been selected. Learn More
New builtins to simplify parametrization of nonlinear relationships
A number of new builtins have been added. LOGISTICBOUND allows the parametrization of a transition from one
value to another following a logistic (s-shaped) pattern. EXPBOUND allows the parametrization of exponential
adjustment from one value to another both convergent and divergent. The two together provide the same set of
choices available as the preset shapes in the Graphical Function Tab.
MINSOFT and MAXSOFT allow a smooth approach
to a minimum or maximum value rather than the abrupt change that results from using MIN or MAX. These functions
are described in more detail in Mathematical builtins.
In addition a SYSTEMCHANGE builtin has been added. This builtin returns the system change metric reported
in the Loops Panel.
Like PATHSCORE, it is computed after a run completes, so should not be used as an input
to any other variable. For more detail see Specialized builtins.
Units search and other find functionality
The Find window now has an option to search in units. This is a convenient way to select everything that
has the same units to either change the units, or change the appearance of the variables. The search
functionality also allow search for empty values, which is most useful for finding variables without
documentation, an equation or units - though the latter two are also shown in the toolbar.
Learn More
Performance optimization
The software responsiveness when making changes in very large models has been improved. In addition,
macro definitions that contain only converters are now expanded inline to decrease memory consumption
and improve performance during simulations (for more on macros see Working with Macros).
Interface grid to improve object placement
There is now an option on the Interface Settings Properties Panel to show gridlines on the interface pages.
You can specify the number of gridlines horizontally and vertically and they will appear in light gray in the
background. These can be useful for aligning objects.
Learn More
Imported time varying data no longer held constant when modules not running
When a variable has time varying data imported, it will also use the time varying values even if it is
contained in a module or sector that is not being simulated. This makes it easier to perform partial
model tests. See Partial Simulation Setup for information on simulating only parts of models.
Learn More
Specialized builds
We are now making available specialized builds of Stella Professional and Stella Architect for older
Macintosh operating systems and x64 Linux systems. These are built from the same source as the standard
releases, but may have limitations on some functionality.
Learn More
October 12, 2023 - Stella 3.5
More Find and Replace Options and Persistence (video #1), (video #2)
You can now use the Find and Replace Dialog to replace text in equations in addition to modifying variable names and units.
This can be very useful in adjusting array usage. The dialog content is also persistent, so when you close and reopen the
model in an editing session the same selections will remain. Learn More
New Input Using a Drop-down List of Values (video)
The new Dropdown Input (Interface) allows you to specify a set of values that can then appear in a dropdown for
selection by the user. This can be used most effectively when a Number-Text mapping has been specified for the variable being used.
Learn More
Better Support for Changing Variable Dimensions (video)
Changing the dimensions of a variable will now update the places that variable is used more completely, including adding in
or removing the dimension even when the variable was originally used without square brackets []. This makes it more likely
the equations will remain valid, and less likely that an oversight (such as a SUM function with no []) will generate unexpected
behavior.
Keep Excel Files Open (video)
There is now an option on the Preferences Dialog to keep Excel files open when they are referred to during import or export
operations. This is most useful for Excel files that may show a dialog (for example do you want to update data) when they are opened.
Learn More
Documentation Tab Changes (video)
The Documentation Tab icon will now change to show a green checkmark when there is content in the documentation. This makes
it easier to know which variables have documentation written for them.
Learn More
New Builtin Functions (video)
There are two new Builtins. The first is MATRIXINVERT which will give the inverse of a square 2 dimensional matrix or slice.
This is a special array function as described in Array Operation builtins.
The second, SOFTWAREVERSION is a convenience builtin
to allow you to detect which version of the software is currently being used as described in
Specialized builtins.
Import Template Provides More Options (video)
The Create Import Template dialog box now has an option to create a template only for selected variables,
and also to create a time varying import template. Learn More
Find Persistence and Additions (video)
The Find window will now remember your last search settings and there is also an option to find imported values.
Learn More
Import All and Export All Now Available as Menu Items (video)
New menu items have been added to the Model Menu to Import All and Export All. These are hand shortcuts
with keyboard equivalent to import of export data without opening the respective dialogs.
Learn More
Selecting Specific Columns or Rows When Copying Tables (video)
You can now select different rows or columns in a table to copy to the clipboard.
Learn More
Specific Ranges Allowed in Conveyor Initialization (video)
When using arrays to initialize conveyors it is now possible to specify a range within the array so
that the array size does not need to line up with the transit time.
Learn More
More Flexibility in Managing Array Interdependencies
More of the cases where an equation uses a relative array position will now trace through each element allowing more complete control
on these computations. Importantly, arrays that have a computed index values, and those using @ notation can now be combined with a
relative index position.
Disable Scrubbing on Graphs
There is now an option on graphs to disable scrubbing that can be set from Graph Settings Properties Panel.
This is useful for small graphs that would not be readable when scrubbing values.
Learn More
Assembly Option to Add Only Ghost to Model for Some Variables
Using ghosts, it is now possible to set up an assembly so that the ghosts it uses are automatically connected to
variables with the same name in the model.
Learn More
June 12, 2023 - Stella 3.4
New Sensitivity Capabilities (video)
Sensitivity runs can now set up criteria to terminate and dismiss runs based on payoff values. This allows,
for example, the exploration of future behavior for all runs that match historic behavior sufficiently well.
Runs that do not match are not included in the final set of reported runs. The criteria are set in the
Sensitivity Termination Criteria dialog which is accessed from
the Sensitivity Specs Panel.
When setting up sensitivity runs, it is also much easier to add multiple sensitivity parameters at once.
By using the new multiselection functionality of the Find window as described below,
you can add a number of different parameters together. When adding more than one parameter
the Multiple Range Specification dialog will open allowing you to specify the minimum and maximum values as a proportion of the base parameter value.
There is also a new sensitivity method that samples the sensitivity parameters sequentially. This is useful
for going through a large number of parameters quickly to see which have significant impact in isolation.
This is set in the Sensitivity Specs Panel.
Multiple Selections for Sensitivity and Optimization (video)
When adding variables to sensitivity or optimization specs you can now select multiple
variables to add at once. This is done in the Find window which has an OK and Cancel buttons
when multi selection is supported.
If you select arrayed variables you will get be able to select which array elements to use. Learn More
Improved Module Pasting (video)
If you paste a module and it is not possible to make all of the cross level connections
between variables with the existing connectors new ones will be added to be able to make
the connections. Cutting and pasting a module in a model will thus rewire all of the cross
level connections as required. Invalid connectors from a module to a cross level ghost may
also be removed to accommodate this.
Related to this, the error message for connectors into modules that do not have a cross
level connection have been improved. The connector causing the error will now be highlighted
when selecting the error message from the Run Toolbar. Learn More
Controlling Array Slices (video)
In addition to controlling variables you can now control a slice of a variable. This is useful
when you want to set a default value for all elements, then override specific elements with other
values. To do this use a * appropriate position in the Choose Subscript dialog box. Array slices
can be used in any of the controls on the interface (except the Allocation Input) and also on
the Parameter Control Panel for the model. Specific element controls will take precedence.
Filtering of Imports for Parameter Control Window (video)
The Parameter Control Panel now has an option to filter out imported variables. This makes it
easier to see which model variables have been controlled using Stella Live, the interface,
optimization or directly from the panel itself. Learn More
Non A2A Graphical Editor (video)
When working with graphicals that are not apply-to-all there is now an option to open the
Arrayed Graphical editing dialog. This allows you to select multiple elements of the array
and edit the graphicals for them together. Learn More
Hiding Thumbnails on the Interface Page (video)
The Preferences Dialog now has an option to hide thumbnails on the
Interface Settings Properties Panel. Instead of a thumbnail just the page names will be displayed.
This can simplify working with interfaces containing a large number of pages.
Pasting Variable Starts Name Editing
When you paste a variable into a model you can simply start typing to change the name
- there is no longer any need to select the name first.
Highlight Point to be Moved in Graphical Editor
As you move the pointer inside of the Graphical Function Tab the point that will be
moved by a click is highlighted making it easier to see what will happen. Learn More
More Intuitive Run Behavior when Switching out of Stella Live (video)
If you switch out of Stella Live by using the Stop Stella Live command on the interface or
switching to edit mode on the model and make a run, the next Stella Live run will reuse the
run number for that run. This prevents duplicate runs with the same result appearing.
Clearer Marking of Invalid Graphicals (video)
When you add elements to a non apply-to-all graphical array the missing elements will be
highlighted rather than contain a default graphical.
Results Panel Highlight on Hover (video)
When you hover over a variable on the legend of the Results Panel the associated graph
line will be highlighted. Learn More
Reorder Array Elements
You can now drag to reorder array elements in the Array Tab rather than having to delete and add them.
Learn More
Binary Data Files (Stella Enterprise only)
There is now an option to store model runs in a binary format. This is intended for very large models and
can be set model by model in the Data Manager.
Learn More
Comma Decimal Command Prompt (Stella Simulator only)
There is a new command line option -cds to write to export data using , as the decimal delimiter.
Learn More
March 15, 2023 - Stella 3.3
Optimization on the Interface (video)
It is now possible to run optimizations on the interface. To do this the optimization is first set up on the
model as described in Optimization and Calibration
and then executed on the interface using Run Optimization as described in Actions (Interface).
Optimization and Sensitivity Status Display
The Display Time (Interface) object now has an option to show the progress on sensitivity and optimization
runs. This is a convenient way to let users know that work is being done in the background.
Learn More
Selectors Active During Optimization
When using a Selector for either a placeholder or array dimension you can now change the value of the selector
while an optimization is running. You can also double click on a minimized graph or table without stopping
the optimization.
Learn More
Tracing Optimization Overflows (video)
When there are divide by 0 or other overflows during an optimization there is now an option to stop the
optimization with the value generating the error preserved to understand why it happened. This can be
set on the Optimization Specs
panel when running Powell optimizations as described in Optimization Methods.
Improved Zoom (video)
Zoom is now based on selected content, making it easier to select and then zoom in on a particular area in a model.
Connector Setting Added to Model Styles (video)
You can now set the thickness and polarity font for all connectors in a model in addition
to changing specific connectors.
Learn More
Allow Updating of Multiple Formats in Tables and Graphs (video)
When using the Format Numbers dialog box an Apply button has been added that allows you to make
changes to multiple number formats without having to reopen the dialog.
Learn More
Group Inputs Now Work with Placeholders and Wildcards
You can now use placeholders and wildcards in the Group Input (Interface) just as you can
with other input and output objects.
Learn More
Better Array Editing Messages
In the Array Editor dialog box dimension names that conflict with a model variable or builtin
function (dimension names need to be globally unique ) will now put up a dialog letting you know there is a conflict.
Learn More
Improved Diagram Rendering
Models with long runs and noisy data should render more quickly with Stella Live and in Suggest View improving usability.
January 13, 2023 - Stella 3.2.1
Expandable Scale Option on Graphs (video)
Graphs now have an option to rescale if the specified bounds are exceeded. This is useful
for setting bounds that are usually right, but still having the graphs display all information when they are exceeded.
Learn More
Sliced Graphs (video)
Sliced graphs allow you to overlay value from different time periods (most commonly years)
for a single variable to see how one period compares with another.
Learn More
Exporting, Importing and Duplicating, Sensitivity, Payoff and Calibration Specs (video)
To make it easier to move definitions between models, and to duplicate specs and make
modifications Import, Export and Duplicate button have been added in the Sensitivity Specs Panel,
the Payoff Specs panel
and the Optimization Specs panel.
Simplified Calibration Payoff Setup (video)
The Payoff Specs panel has been updated to make setting up calibration payoff much simpler.
Learn More
Scientific Notation in Formatted Numbers (video)
Scientific notation has been added as an option when formatting numbers and is set in
the Scales and Ranges Tab of the properties panel.
Learn More
Graphical Input Axis Labeling on the Interface
Graphical inputs on the interface can now have axis labels specified in the
Graphical input (Interface) panel.
Learn More
Easier Export File Creation (video)
You can now add a file for export without having to first create it.
Learn More
Extending Percentile Builtin
The PERCENTILE builtin can now take an optional fourth argument which makes it possible to
find the percentile value of an attribute based on volume (for example median age based on population).
Learn More
Selecting Identically Arrayed Variables (video)
A new option has been added to the Context Menu on the model that allows you to select all
variables arrayed the same way as the selected variable, making it easier to manipulate arrays.
Learn More
November 17, 2022 - Stella 3.2
Assemblies (video #1,
video #2)
Assemblies provide a new way to get started building models and easily add commonly used structures
into ongoing modeling work. They work with suggested completions that fill in equations when possible
or make suggestions based on the structure as you have drawn it.
Learn More
Suggested Completions (video)
Suggested completions smooth the addition of simple equations based on the connections you make on the
model diagram. They are turned on and off from the Mode Toolbar and are very helpful when working with
Assemblies. Details on the way suggested completions work are in Completion Support.
Multiple Selections and Arrays Slices in the Results Panel (video)
The Results Panel has been extended to work with multiple variables and also has the ability to
show all elements on an arrayed variable. This makes it very easy to see two or more variables
next to one another to aid understanding and debugging model behavior.
Learn More
Variable Replacement (video)
When there are two variables that have the same meaning it is now straightforward to replace
one with the other without needing to edit equations, graphs, or tables by dragging one on top
of the other. This is very helpful when combining assemblies.
Learn More
Export of Multiple Runs from Interface (video)
An option has been added to export values from multiple runs on the interface making it
easier to provide comparative summaries of different experiments conducted by published simulation users.
Learn More
Flipping Parts of Diagrams (video)
There is now a function to flip the selected elements of a diagram either horizontally or vertically.
This is accessed through the Context Menu.
Learn More
Improved Units Suggestions (video)
The suggest units functionality - from either the Equation Tab of the properties panel or
the Units Entry Popup will now look at both the equation for a variable, and equations using a
variable, to try to determine the best units to suggest. When it is possible, units are also set
automatically while working in Suggest view.
Improved Builtin Organization
The categories builtins are put into have been reorganized - in both the software and the help.
See Builtins for
the organization and Equation Tab for selecting them in the software.
Saving Diagrams to Images (video)
The Save As menu on the File Menu will now allow you to save the current module picture as a vector (pdf, svg)
or raster (png, jpg, gif, bmp) image file.
Learn More
New AGECOUNT Builtin
The AGECOUNT builtin provides a convenient way to look inside conveyors and queues (as well as
non-negative stocks when using cycle time integration) returning the quantity of material falling within an age rate.
Learn More
New Leakage Option
For conveyors with inflows that at spread evenly or based on a distribution there is now an
option on linear leakage to leak the specified fraction of material regardless of the time the
material spends in the conveyor.
Learn More
September 2, 2022 - Stella 3.1
Measuring System Movement in LTM (video)
A new measure of activity during a simulation is now available to make it easier to understand which loops are
driving behavior during periods of significant change. The System Change and Contributions are on the Loops Panel
and there is more discussion of the concepts in the Loops That Matter™ Overview.
Displaying Sums Across Arrays in Tables and Graphs (video #1,
video #2)
When you select an arrayed variable for use in a table, graph, or other output object you can ask to
display the sum, min, max or mean across a slice of the array in addition to specific array elements.
See Choose Subscript dialog box for the details of doing this.
It is also possible to set up array definitions so that the sum, min, max, and mean can be selected
when using a Selector or looking at
values in the Results Panel. These are specified in
the Dimension Configuration dialog box.
Find and Replace (video)
There is now find and replace functionality that allows you to change the names of all variables in a
selection, or for the entire model. Use Shift+Ctrl+F or Ctrl+H (Windows)/Shift+⌘+F (Macintosh) to
open the Find and Replace Dialog.
To be consistent with most other applications the Find (and Find and Replace) functionality
is on the Edit Menu,
and not on the Model Menu as it used to be.
Time Range in Tables (video)
You can now optionally specify a start and stop time for tables. This makes it possible to show value
for a subset of a runs range. Learn More
Navigate on Undo/Redo
When using Undo (Ctrl+Z/⌘+Z) or Redo (Ctrl+Y/⌘+Y) the thing that was changed will not be highlighted
(navigating to the appropriate module or page if necessary) and the associated panel open when one thing
was changed. In some cases, because of cascaded dependent changes or changes applied to multiple
selections, it may not be possible highlight anything.
Equation Editor Improvements
The autocomplete function now works even when there is no space after the cursor. In addition,
selecting [ when inside an existing [] pair will replace the content inside the [] with whatever
is provided by the Choose Subscript dialog box.
Multi Selection Panels (video)
More properties can be set on the panel when multiple objects are selected. For example when
working on the interface you can select multiple sliders and set the ranges on all of them at
the same time. Learn More
Modelview and Story Content Positioning (video)
It is easier to position content in Model View objects
(including Storytelling pages) using arrow keys.
New Builtin
There is a new builtin NORMALPINK (see Statistical builtins) that can be used to generate correlated
noise and simplifies opening of Vensim models.
July 5, 2022 - Stella 3.0.2
New Builtins
A number of new builtins have been added, and others extended to provide more behavior.
The new RUN builtins RUNCUM, RUNMAX, RUNMEAN, and RUNMIN make it easy to pull values of a variables
from the current run, or from other runs much like the HISTORY builtin. It is also possible, when
using time varying imports (Import Data dialog box) to pull future values for the current run.
Learn More
The new LOOKUP builtings LOOKUPMIN and LOOKUPMAX make it easy to find the maximum or minimum in
a graphical. The existing builtins LOOKUPAREA and LOOKUPMEAN have also been extended to take a
variable number of arguments to simplify equation writing. Learn More
The STEP builtin now takes optional arguments for duration and interval maxing it easy to
create a temporary step, or a repeating step. Learn More
Using Dimensions to Restrict Outflows
When restricting outflows from queues to content with certain attributes you can now use a
dimension name in addition to numbers to specify which attributes to filter on. This is a
convenient way of dispatching from an non-arrayed queue to arrayed stocks.
Learn More
Using Arrays in Sensitivity Setup
It is now possible to specify arrays for parameters when setting up sensitivity. This makes
it easier to specify a number of parameters, and to change array sizes without having to
modify the sensitivity settings.
Learn More
Better Vensim® Model Translations
The translation of Vensim models with multiple views now breaks the model up into modules
and those the interconnection between the modules on the top level model. This makes it
easier to work with larger models.
Learn More
Importing External Run Data into Modules
When importing data as a run from the Data Manager
using the Load External Data dialog box
there is now an option to match unqualified names to variables within modules. This is useful
when the data files list variable without module qualifications as might happen with
values exported from a Vensim model.
Updated Panel Buttons
The ^ panel button has been replaced with [ to make it easier to work with arrays.
Learn More
Exporting Results from the Interface
When exporting results from the interface the user will now be prompted for the
name to export to. Learn More
Setting Arrays on Flows
Outflows from non-arrayed stocks can now have arrays set.
April 14, 2022 - Stella 3.0
Interface by Design
We have dramatically simplified the process for building high quality interfaces by providing
a number of Designs that you can bring into your interface and then customize. See the overview
in Building Interfaces as well as the discussion in
Designs. You can even create your own Designs
from the Interface Menu (Interface) or by saving an Interface to the Custom Design directory specified
in the Preferences Dialog.
Check out the quick tutorial on our tutorials page.
Interface Templates and Locks
You can directly edit content on Templates by double clicking on it from an Interface page.
Right clicking will also take you to the Template page. Locked content will now display a lock
icon in the upper right corner (right-click to unlock).
Learn More
New Shapes
A number of new shapes have been added for display on the interface, including arrow, star,
ellipse, cloud, and speech bubbles. You can also put a corner radius on rectangles.
Learn More
Web Safe Fonts
To improve consistency in publication there is now an option (on by default) to use font faces
that are available on almost all computers. Selecting fonts from the smaller list will make
interface users see the same thing you do. The option is set in the Preferences Dialog.
Learn More
Better Page Resizing on the Interface
Changing the Interface page size will now scale all content to the new size.
Learn More
Placeholder and Array Selection on the Model
You can now put Selector controls directly onto the model diagram. This makes it convenient to go
through placeholders or array elements in graphs and tables.
Learn More
Discrete Optimization
There is a new option for discrete optimization that allows you to find optimal values
that are integers or otherwise quantized.
Learn More
Improved Navigation Control Styling
The Navigation Control (Interface) now provides more options on appearance and layout including
spacing between tabs and padding of text within them. The naming conventions used in the panel
have also be simplified.
Learn More
More Control over Numeric Displays
You can now set the label position and control the border and appearance more precisely
for Numeric Displays as detailed in Numeric Display Properties. In addition, numeric displays
on the model and interface now look the same.
Learn More
Tooltips for Buttons and Annotations
You can now add tooltips to Button (Interface) that will display with the user positions
the cursor over the button. In addition. Annotation Button (Interface) can be configured
to display when the mouse moves over its button rather than requiring the user to click
on the button.
Run Name Control
You can now set the run name in the interface using the Button (Interface).
It is also possible to set the beginning of the run name in the
Model Settings Properties Panel. Using this instead of Run1, Run2, and so on you can have Test1, Test2, or another prefix displayed on tables and graphs.
In additions, for sensitivity runs that are specified using an external file you can include the run
name in addition to parameter values. This makes it easy to name the runs according to their inputs
(Low, Medium, High and so on). For details see the Sensitivity panel.
Arrays in Tables
Tables now allow the use of a * to represent all elements of an array that will update
when the array definition changes.
Learn More
Graphics Frame Transparency
There is now a transparency setting on Graphics Frames (interface only). This makes it easier to achieve different visual effects.
Learn More
More Control in Run by Module
The options to run by module now allow you to turn on and off nested modules when you change the running
state of a module on both the model and interface. This is done in the Partial Simulation Setup panel.
The software will also keep track of changes made to which modules are running on the interface
and continue to run only those modules on the model until inputs are restored or the modules are
switched on or off directly.
Learn More
Better Control of Find
You can now search for exact matches in the Find window by using "" around a string, as well as
names that start or end with something. Starting and ending spaces are also recognized to simplify
looking inside of names.
Learn More
Improved Cross Level Marking
It is now straightforward to mark variables as both inputs and outputs for making cross level
ghosts. This is useful when working with modules that are saved separately and can be modified
in that way. The is set from the Context Menu for a variable. There is also a new option added
to the Model Settings Properties Panel that will suppress module connection errors.
Simplified Equation Error Fixing
Equations that are either missing inputs, or have extra inputs, can now be fixed by clicking on
the error message in the Equation Tab. The related connectors will be added to, or removed from,
the diagram.
Learn More
Performance Improvements
Simulation speed has been increased for larger models and the long wait time that sometimes
occurred as a simulation was beginning reduced. LTM has also been improved for large models
requiring algorithmic search to detect loops.
Updated Data Manager
A Restore button has been added to the Data Manager dialog and loading parameters from a
run now opens the Load Parameters dialog giving you more control over which equations are
overwritten with values from the run.
More Export from Interface Options
The Export Parameter Values selection from Actions (Interface) for
Button (Interface) now allows you to specify which parameters in addition to those that have been
changed to export. This allows the creation of more complete import data sets. There is also
an option to export only a single value.
There is also a new action to export the variables in a Table making it easier to keep exports
up to date with your needs.
More Multiplayer Options
An option has been added to prevent multiplayer games to continue when a player drops.
This is set in the Multiplayer Options dialog, which has also been improved for usability.
Learn More
Improved Browser Control
There is now an option on the Publishing Options dialog to prevent the current page from
displaying in the URL for a published Sim App. This prevents users from skipping pages and
also makes your interface appear as a single page to the browser so that the browser's back
button will leave the interface altogether rather than navigating within it.
Learn More
December 6, 2021 - Stella 2.1.5
Vertical and Folio Navigation Control
The Navigation Control (Interface) now has the option to display vertically (tabs stacked one on top
of another) or in folio orientation (text running up from the bottom). This provides more flexibility
around the appearance of navigation choices on the interface.
Learn more
Enhancements to Stella Live
It is now possible to change graphical functions in a model just as you can change constants
in Stella Live. Simply open the Results Panel and click on the button on the bottom to open
the Graphical Editor dialog box. The model will be simulated with the changes you have made
(but no change will be made to the model equations).
The option to turn off Stella Live updates when moving knobs has also been added to the Model Settings Properties Panel.
Turning this off is helpful for larger models that take significant time to simulate.
Import Improvements
When there are imported variables in a model the tooltip for the variable will name the active
import source file (and sheet if appropriate). This makes it easier to determine where data is
coming from.
Messages displayed when testing imports in the Import Data dialog box have also been improved to
make it easier to find the source of errors.
Learn more
Update When Stopped Option on Interface
There is now an option in the Numeric Display Properties to update on user input
when stopped. This allows values to be updated after a run has finished and will
display the currently computed value (effectively the beginning value for the next
run) rather than the last value for the run just completed.
Learn more
Resetting Controlled Values After an Interval
In addition to resetting after 1 time unit, you can now have a control (such as a slider) reset after any amount of
time. This is specified in the options for the individuals controls such as the Slider (Interface).
Note: If you work with a model using this feature in an earlier Stella version you will lose these settings.
Learn more
Page Animations Option
There is now an option whether to create an animation when switching between pages on a published
interface. For interfaces with consistent backgrounds on different pages the transition animation
can be distracting and have been turned off by default. It can be changed on the Interface Settings Properties Panel.
Learn more
New Builtin for Number of Sensi Runs
There is a new builtin that shows the total number of runs that will occur during sensitivity.
The builtin is SENSIRUNTOTAL and is detailed in Miscellaneous builtins. This can be very useful
for displaying progress on the interface.
Learn more
Setting Arrays on Flows
It is now possible to set the arrays on inflows into non-arrayed stocks. This can be
convenient when setting attributes for different array elements flowing into conveyors
and queues. Outflows continue to inherit the array settings of the upstream stock
unless they are connected to a downstream stock arrayed differently.
Font Size on Expanded Graph on Interface
When using the expand button on interface graphs smaller fonts will be enlarged to
make the graphs easier to read.
Learn more
Multiple Selection for Document Tab
You can now apply the document tab with multiple variables selected. If they share the
same documentation or units (or if they are all empty) you can specify either for all
of the selected variables by editing once.
Learn more
Import Directly from isdb Files
From the Data Manager when you click on the button to load external data as a run, you can
now directly use an isdb file from a different model, or a previous version of the model
you are working with. This makes it easier to compare results across models without an
extra export step.
Learn more
July 15, 2021 - Stella 2.1.3
Native Mac ARM Support (PreRelease)
Stella now runs natively on the new Apple Silicon Macintosh computers. These new computers are fast,
and running without Rosetta makes them faster still. Though we have not completed all testing (thus
the PreRelease flag) so far we have not found any differences to the existing Mac products and you
will see a big boost in performance if you have one of the new Macs.
Simplified CLDs for specific loops
In addition to being able to highlight loops on the stock and flow diagram, it is now possible to
create a simplified CLD for a loop, or loops, of interest. This is an excellent way to highlight
structure generating behavior and provide compact and uncluttered views of it.
Learn more
Chat logs added to data collection
It is now possible to record chat logs in multipliayer games with data collection enabled. See
Publishing Options dialog and
Chat Log for more detail.
More control over queues and non-negative stocks
It is now possible to mark specific queues and non-negative stocks as not-passthru rather than having
the software do this automatically. The algorithm for determining which stocks will constrain outflows
without considering inflows has also been improved to work more consistently with macros and arrayed variables.
Learn more
Accumulated option for discrete graphicals
When creating discrete graphicals there is now an option to treat them as accumulations so that they
will render as a continuous output with the same total area under the curve. This is useful, for
example, in breaking up annual demand into value changing slowly from month to month.
Learn more
Loops that Matter output for Stella Simulator
The results of the LTM computation can now be saved from Stella Simulator, allowing continued analysis of models.
Learn more
June 1, 2021 - Stella 2.1.2
Stacked Bar Graphs
There is now an option in bar graphs to stack them. This allows you to create comparative graphs of
more than one variable and display them at selected times.
Learn more
Area Graph Improvements
Stacked graphs have options to display either summed or individual values and also to show
values only in the legend on scrub.
Learn more
Span Sliders on the Interface
A Span Slider has been added that allows a range to be set for two variable that represent a lower
and upper (or min and max) value of the same concept. This is very useful for controlling sensitivity
ranges.
Learn more
Arrayed Placeholders
You can now array placeholders. This allows them to be used in graphs with a * and wildcards so that a
single graph can be used to show large number of different combinations of values.
Learn more
Subrange and Parent-Range Improvements
In additions to using a subrange for a variable arrayed by the parent range, it is now possible to
use the parent range in a variable arrayed by the subrange. This makes it much easier to move back
and forth between partial and full range equations.
Learn more
PERCENTILE and LOOKUPRANDOM Builtins
The PERCENTILE builtin allows you to look at the distribution of values within an array slice -
making a generalization of the MIN and MAX builtins when used on arrays and also allowing the
computation of a median and any other percentile. See Array builtins for details.
The LOOKUPRANDOM builtin allows you to specify an arbitrary PDF and then pull values
from that. See Statistical builtins for details.
Array Improvements
Changing the array dimensions for a variable will now change many of the equations it is used in to reflect
the updated dimensions. This should decrease tedious hand work. Importing arrays is also not more flexible
allowing blank cells to be used in the import definitions making it easier to set up subranges.
Learn more
Preparing Import Sheets
A convenience feature has been added to the Arrayed Equation editing dialog that makes it easier
to set up import sheets one variable at a time.
Learn more
Graph Duplication
A feature has been added to duplicate the current graph in a pad. This simplifies creating a number
of quite similar graphs.
Learn more
Adding Units to Constant Lists
The Create Import Template dialog box now has an option for add units to the variables listed. This
can be helpful when using constant lists as part of a documentation process.
Learn more
January 15, 2021 - Stella 2.1
Sensitivity on the Interface
Sensitivity simulations are now supported on the interface. To start a sensitivity select
Run Sensitivity for the button action as described in Actions (Interface).
The sensitivity run will execute and graphs and tables will update as runs are completed.
Percentile Graphs and Histogram on Interface
You can now place percentile charts (across runs) and histograms (across runs or time)
on the interface. These work the same way that they do on the model and will repopulate
as sensitivity runs occur. See Bar Graph for more details on histograms and
Graph Series Property Panel for more details on confidence graphs.
Parametrized Sensitivity Values
In addition to specifying bounds for sensitivities as numbers, you can also
specify model variables to use for the bounds. This is most helpful when
performing sensitivity on the interface as it allows the interface to
specify the range over which to perform the sensitivity. This range can be
directly under user control, or specified in the background based on other user
selections. Learn more
Improved LTM Computations
We have improved the link score computations for the effects of flows on stocks by
using the change in flows relative to the change in net flows rather than the flows
directly. The new computation gives results that are largely independent of the exact
flow formulations used and generally improve continuity of the loop dominance measures.
Learn more
Controllable Start and Stop Time
In addition to specifying numbers for the time at which a model starts and stop you can
also specify model variables. This is done in the Model Settings Properties Panel
by selecting a model variable for the associated time. You can use any model variable,
computed or controlled. If there is an issue determining the proper start time and
error message will be displayed.
Multiple Selection in the Find
You can now select multiple variables in the find, including selecting variables in
different modules. This makes it possible to change the array settings on multiple
variables at once and also to add multiple variables to tables, graphs, and summing
converters. Multiple selection is done using Shift or Ctrl + Click as described in Find Window.
Direct Dropping of Variables onto Summing Converters and Placeholders
You can now drop variables directly into summing converters and placeholders, either by selecting them on the model or in the
Find Window.
Learn more
Better Control over Dimension Changes
The Array Tab of the properties panel is now available when there are multiple variables selected
- whether on the diagram or in the Find Window.
This makes it possible to set, or add to, the dimensions for multiple variables.
Cleaning Time for Ovens
Ovens now have a cleaning time that keeps them idle after the completion of processing. This
makes it easier to represent turnover where there is a required set up or recovery time before
the next item can be processed.
Learn more
Excluding Legends from Graphs
Graph legends can be selectively excluded to reduce clutter and make more area available
for drawing the graph.
Learn more
Improved Opening of Vensim® Models
The opening of Vensim models is smoother with unrecognized functions brought directly across and
better array support.
Learn more
November 16, 2020 - Stella 2.0.2
Initialization Options for Conveyors, Queues, Ovens and Cycle Time Stocks
It is now possible to use equations to specify the internal content of conveyors and
queues, as well as to specify the initial values of attributes and cycle time within
stocks. These additions allow a model to be initialized in a way that is representative
of the true initial state of the system (for example a conveyor with initial growth).
Learn more
Optional Equation Conventions
To simplify setting optional equations rather than having to turn on and off specific
optional equations, such as that to arrest a conveyor, the equations can now simply
be left blank.
Learn more
Streamlined Find
The interface used to find variables has been streamlined to make it easier to perform
the most common tasks.
Learn more
Causes and Uses Display
The right click menu can now be used to show the causes and uses of a variable.
In addition, the causes and uses now list both first and second order causes and
uses, making it easier to visual dependencies. See
Context Menu
and Causes Uses
for discussion.
Automatic Timer-Based Game Advancing
You can set up multiplayer games to automatically advance based on a timer.
This forces games to continue even when some players have not met the deadline
of committing their decisions.
Learn more
Invariant File Content
Files saved will no longer change when there have been no changes to the
underlying model because of the sequence in which content is written out,
or dependencies on internal object IDs. This includes modules saved as
separate files which facilitates use with version control systems.
Learn more
Improved Report as Options for Interface
The "Report as" option associated with a converter will now be used on the
interface to determine whether the current value of the variable will display
when a model is paused. Selecting stock will ensure that the current value is
always displayed (even if it might change after resuming).
Learn more
Outline-only Diagrams on the Interface
An option has been added to allow diagrams to draw only the outline of shapes.
This is useful when you are using a diagram to overlay other content.
Learn more
Duplicate Connectors Give Option to Replace Old Connector
If you draw a connector that already exists you will have the option to
replace the old connector with the new. This is helpful for moving
connections to ghosts, and also rearranging connectors in busy models.
New Keyboard Shortcuts
You can now use Ctrl+E to switch to edit Model and Shift+Ctrl+E to
switch to explore or experiment mode. A full list of keyboard shortcuts
is available at
Keyboard Shortcuts and Key Combinations.
June 10, 2020 - Stella 2.0
Loops That Matter™
Understanding models has never been easier! Loops that Matter is new functionality in Stella 2 that allows you to
immediately visualize the impact of every variable in a model on every other variable during the course of the
simulation. The software identifies the feedback loops important to generating behavior and allows you to create
causal loop diagrams that display those loops in a simplified form. Learn more
Automatic Diagram Layout
Stella will now create stock and flow diagrams, or fill in missing pieces, for models created in other
applications and brought in to Stella. Learn more
Model Equation in Table
The Equation Viewer will now display equations in a table, making it much easier to read and navigate through
the listing. The table can be saved to html or copied to the clipboard in for pasting into a spreadsheet.
Learn more
Highlighting Non-negativity Constraints
When a flow is forced to 0 because of a non-negative stock, both the flow and the stock will now highlight
to show that this has happened. Hovering over the highlighted stock or flow will give a message showing what
type of constraint was encountered. There is an option in the Preferences Dialog to allow disabling of this
feature and an option in the Model Settings Properties Panel to turn it off for a specific model.
New Builtins
The LOOKUPMEAN builtin can be used to compute the mean value of a graphical. This is most useful for graphicals
on the range of 0 to 1 representing probability density functions. The builtin MLPANN can be used to embed
artificial neural nets in models to capture arbitrary nonlinear relationships.
Learn more
Distribution profile for Conveyors
Material coming into a conveyor is normally put at the beginning, then sent across the conveyor over the
course of the simulation. It is now possible to distribute the material over the conveyor following the
contour in a graphical. This effectively allows arbitrary residence time distributions which provides
more accurate modeling in cases where the time in stock is variable.
Learn more
Stella Live on the Interface
We have added the ability to create an interface where Stella Live is always on. Simply set this option
in the Interface Settings Properties Panel. There is also a new action to first run a model, and then
enter Stella Live, mimicking the behavior of the run button during model development
(see Actions (Interface)).
Save to Disk option on Optimization Log
You can now save an optimization log to disk during the optimization. This allows recovery in case of a
software failure which is valuable for optimizations that run for long periods of time.
Learn more
Data Collection from Stella Live
During data collections the results from the last Stella Live run can now be captured.
Learn more
October 16, 2019 - Stella 1.9.3
Runs Comparison
We have added a function that allows you to quickly compare two runs. This makes it easy to track down differences between runs,
especially differences resulting from changes in constant or graphical values. The Runs Comparison window reports the differences
between two runs and the first time those differences occur. It is opened from the Open Runs Comparison command on the Windows menu.
See Runs Comparison for more details.
Simulation Duration Control
You can now control the speed at which a simulation progresses using a variable(rather than the old simulation speed control). Simply
select the model variable you want to define the simulation duration with in the
Model Settings Properties Panel.
You can use a slider or other input device the then set the simulation duration or speed. You can also vary the simulation speed based
on model conditions.
Save List Based Export Definitions
There is an additional export option that reads a list of variables from a file and then exports values for those variables.
This is most useful for batch processing where the list of values to view is not known ahead of time and can be written to a
file allowing a model to report different results without having to edit the model. See
Export Data dialog box for details.
Improved Unit Definition Facility
It is now possible to create definitions for units that already have built in definitions, effectively replacing them. This makes it
easier to have units suited to your needs. See Unit Editor dialog box
for details. This dialog has also been improved so that double clicking is not required to edit unit definitions. In addition,
changes to unit definitions are now tracked in the undo/redo system. We have also added Tons and Tonnes to the built in definitions.
Causes, Uses, and Selection History
The selection history panel has been replaced with menu items in the
Equation Tab of the Properties Panel and also on the
Results Panel.
These menu items allow you to look at the previous 10 variables you have worked with and, if you select a previous variables,
the next ones that you worked with.
More Control over Decimal Character
You can now override the settings for your computer to choose whether a , or . should be used as the decimal delimiter.
This is done from the Preferences Dialog.
More control over paging when dragging model elements
When dragging things on the model dragging off the current boundary of the model will no longer aromatically add pages. Instead the page
will be added only after you release the mouse button. Thus, moving off then back onto the current model extent will not cause a change
in the number of pages used for the model diagram.
May 21, 2019 - Stella 1.9
FIFO Conveyors
There is now a FIFO option on conveyors so that they maintain material in the order received and respond immediately to
changes in transit time. See FIFO Conveyor Computation for more discussion.
Conveyors are marked FIFO in the Conveyor parameters.
Discrete Attribute Tracking
You can now set an attribute on flows that are connected to discrete stocks (and non-negative stocks in Cycle-Time Mode).
The attributes can be measured on downstream stocks and flows and can optionally be used to prioritize material for
processing in queues. See Attribute and Cycle Time Tracking for an overview, Flow options for a description of how to
set the attribute, and Discrete builtins for the new builtins used to measure the attributes.
Prioritization of Material Entering Queues
The discrete attribute can be used to prioritize material entering the queue (so the queue is not longer FIFO). This allows
material from different sources to be processed differently. See Queue parameters for the use of the attributes to prioritize
material flowing into queues and Queue Computation for more discussion of how the material is ordered.
Round Robin and Prioritized Queue Dispatching
Queue dispatching to multiple places now allows you to set priorities for destinations and will provide a round robin mechanism
to make use of all available destinations (typically ovens). See Queue parameters to set the parameters and Queue Computation for
more discussion of how the priorities are used.
Queue Purging
Material that has been in a queue for too long can now be purged from the queue through an outflow that is only active when the age
of material has exceeded a threshold. See Flow options to set a flow so that it will purge a queue and Queue Computation for more discussion of the way purging works.
Spreading of Conveyor Inflows
Conveyor inflows can now be marked to be spread across the existing material in a conveyor rather than added at the beginning of a
conveyor. This is useful when parallel conveyors are tracking similar groups of things, such as aging people, and one conveyor leakage
can be used to introduce material to another as it would with incidence of a disease. It is also useful in demographic modeling in
general as it makes is much easier to deal with immigration and emigration. See Flow options
to set the flow and Spreading Conveyor Inputs for more detail on how this works.
Graphical Presets
Graphical functions now have a number of suggested forms available that make it easier to draw smooth curves.
Learn more
Inverse Graphical and Graphical Area Builtins
Two new builtins have been added to make it easier to work with graphical functions. LOOKUPINV will invert a graphical
so that, if the graphical is monotonic, the value of the input required to get the specified output will be returned.
LOOKUPAREA will return the area underneath the graphical up until the indicated input value. Learn more
ROOTN Builtin
The ROOTN builtin returns the nth root of the first argument. Learn more
Importing Array Definitions
You can now define the elements of an array (both their names and the number of them) using Import Sheets.
This allows you to change the specific content of array elements without having to edit the model, and can
be very useful for data intensive model set up. Learn more
Pyramid Graphs
We have added a new graph form that allows you to represent two sets of equally sized array entries on the
left and right hand side of mirrored horizontal bar graphs. A common use of this is a population pyramid
which shows the number of people by age group separated by sex. Learn more
Horizontal Bar Graphs
The bar graph now has a variation in which the bars are drawn horizontally instead of vertically. With the
exception of orientation, the options and behavior of the two types of bar graphs is identical. Learn more
Financial Tables (Interface)
A new financial reporting style table has been added on the interface to make it easier to present information
in the style of financial reports. It allows formatting, including font and color, to be applied line by line.
Learn more
Expandable Graphs on the Interface
When you place graphs on the interface you now have an option to provide an expansion button for the graph.
This will make the graph bigger, and also provide a control so that the interface user can zoom in to see a
narrower time range on the graph. Learn more
Published Accessibility Options
Published interfaces can now support keyboard input and alternative text to improve accessibility.
Learn more
Arrays in Graphs
You can now add an entire array (or a slice of an array) to a graph and have it stay in the graph in that
form. This simplifies graph definitions and improves labeling while also supporting changes to array
element definitions without having to rebuild a graph. Learn more
Usability Improvements
We have made a variety of usability improvements that should make it easier to build and use models including:
-
The addition of variables to graph and tables is now more intuitively done using the green plus button to add all
variables, including the first.
- The annotation object on the interface no longer displays its invisible button.
Some icons and text have been updated to clarify meaning.
-
The zooming feature on the Results panel and Causal Lens have been improved and synced.
-
The causes and uses button that lets you navigate has been made to look more like a button.
-
Placeholder text and labels have been improved for clarity.
-
Panel layout and tab ordering has been cleaned up.
-
Selecting interface objects from the toolbar that need special model structure to work give better messages.
New Slider Style
There is a new style of the slider (horizontal only) that can give your interface a more modern look. Learn more
Spell Check Panel
There is now a panel that will open and list all spelling errors that have been found in variable names. Improvements have also been made to the ignore selection in spell check so that anything ignored will be
remembered with the model. Learn more
Module Navigation Panel
The module navigation panel allows you to see all the modules in a model and their containment structure in one place. It is a very
useful device for quickly navigating through large models. Learn more
Module Labeling
You can now put labels on modules so that the module name used in graph, tables, and cross level references can be short, while the
name displayed on the module can be more descriptive. Learn more
Model Bundling with Supporting Files
The file menu now has a function to export your model as a bundle. This creates a zip file including your model and all supporting
files (images, movies, import sources and export destinations). Learn more
Lead-in Time Improvements
If you specify a lead-in time for use in an interface then results will always be shown till the lead in time in presentation mode
and when published (no blank graphs). Learn more
Lock Diagram
A new option to lock a model diagram can be used to prevent any movement of variables or other objects in the model. This is useful for
preventing inadvertent changes or reminding others that things should not be changed. Learn more
January 10, 2019 - Stella 1.8.2
Stella Live with Arrayed Variables
You can now see results for arrayed variables and adjust inputs via knobs when using Stella live. The array elements
being displayed or changed are determined by the selection you make in the Results Panel. When you open a model the
first elements of each array will be selected.
Array Wildcards
By using array wildcards you can set up graphs, tables, and other output and input objects to display different elements
of an array based on user selections. On the model layer this works very much like Stella Live with arrayed variables, on
the interface it provides flexibility in page design and can also be used to simplify multiplayer game design as described
in Using Wildcards for Multiplayer Games.
For more information see Wildcards.
Placeholder Variables
Place holder variables allow you to create graphs, tables, and other input and output objects that can be used with different
variables based on selections you or an interface user makes. This makes it possible to reuse parts of an interface page, or
an entire page, to represent different parts of a model. It also allows the creation of graphs, tables, and numeric displays
on models that can be switched by changing which placeholder variable is selected via the Results Panel. For more information
see Placeholders.
Confidence Bounds
Confidence bounds allow you to see how much an optimization parameter can change in order to have a specific influence on
the resulting payoff. Most commonly they are used to bound parameter estimates resulting from a calibration, but they can
also be used in outcome optimizations. For more information see Calibration.
Optimizer Log
We have improved the reporting of information from optimization by writing it to the Optimizer Log which allows you to see
more clearly the results, and also to look back at previous optimization runs in an organized manner.
Export Changes from the Interface
We have added the ability to export the set of variables that have been changed on the interface, both constant values and
graphicals. This makes it possible to save the settings for a run made on the interface and then reload them at a later time.
See Actions (Interface) for details.
Performance Improvements
We have improved simulation speed and model save time for large models with complex equations.
October 26, 2018 - Stella 1.8
Calibration
Calibration is the process of adjusting model parameters to make the behavior line up with a target, most commonly measured time series data. It is now easy to set up payoffs and use the optimization engine in Stella to accomplish this.
Learn More
Importing Time Varying Values
Time varying values allow you to have variables take on different values at different times based on the imported data. This is useful as a mechanism for bringing in a sequence of decisions or controlling values, and also loading in data to be used in calibration.
See Import Data dialog box for more details
and Defining Calibration Payoffs for the use of imported time varying data in payoff definitions.
Optimization from the Command Line and in Stella Simulator
The -ro option has been added to the command line to run optimizations.
See Running Models Using the Command Line for details.
The same option has also been added to Stella Simulator, as has support for sensitivity and more control over initialization.
See Stella Simulator Arguments for more details.
Printing of Interface Pages
Print and Print Preview have been added to the File menu on the interface window. These will print the pages currently displayed in the Page Preview Panel.
Learn More
Sobol Sequences for Sensitivity
There is an additional option to use Sobol sequences when preforming multivariate sensitivity. Sobol sequences are designed to maximize the exploration of
multidimensional parameter spaces.
Learn More
Replacing Runs
It is now possible to replace a run with another run so that any graphs or tables referring to the run will be updated. For example if you have a run named
base, you can have the current run replace it.
Learn More
Units in User Macros
You can now specify the units of measure for a User Macro based on the units of measure of the arguments to the macro allowing full checking of model units.
Learn More
New INTERPOLATE Function
There is a new function INTERPOLATE that will take an N dimensional set of points and return the value derived by interpolating between these point values.
In one dimension this will act the same way that a graphical would on a vector of numbers. In higher dimensions the interpolation is between planes (or
hyperplanes) of the different dimensions.
Learn More
Lead-In Time and Restore Inputs Options (Interface)
You can now set runs to start part way into the simulation when working on the interface. This is convenient if you want users to start with some results
already available. There is also an option to restore inputs when starting new runs, which is very useful for multiplayer gaming.
Learn More
Shape Tool (Interface)
The shape tool makes it easy to add vertical and horizontal separators on interface pages as well as to include outlined or shaded ellipses (including circles) and rectangles.
Learn More
Hover Tips in Graphical Inputs (Interface)
There is now an option on Graphical Inputs to display the current x and y values as the user drags the points in the shape. This is especially useful for discrete graphicals.
Learn More
Hover Tips on Sliders (Interface)
You can now control when hover tips appear on sliders (always, never, or when the user is dragging the slider).
Learn More
Numeric Display Number Formatting
You can now specify number format for the numeric display in the properties panel. This allows you select multiple numeric displays and set the formatting options for all of them together.
Learn More
Loop Indicator on the Interface
If you include Loop Indicators on your model they will now be active when the model structure is presented in either a model view or on a story in the interface.
Learn More
Simplified Inclusion of CLDs
Causal loop diagrams created in the new
CLD Window will now have NAN equations automatically added. These will simplify the inclusion of CLDs in simulating models
as they will no longer create invalid equations. The NAN(a,b) format can be added by hand when working in regular models
(see Creating CLDs).
Added Mojave Support on Macintosh
Stella will now work with the features in the newly released Mojave operating system on the Macintosh including the dark mode interface selection.
Importing to a Module Maintains Cross Level Ghosts
When you replace the contents of a module using the Import button any cross level connections between the module and the rest of the model will be retained as long as the names in the model for inputs and outputs have not changed.
See Module Properties Tab for more discussion or Agent Based Examples for a typical usage.
August 27, 2018 - Stella 1.7.1
Simplified Causal Loop Diagram Creation
You can now ask for a new causal loop diagram and have the simplified toolset necessary for creating causal loop diagrams. That toolset makes the
creation and editing of CLDs quick and easy. It also matches the toolset of the Online CLD Editor.
Learn More
Switch Color
You can now set the color that a switch on the interface displays when it is on.
Learn More
Graphical Input Appearance (Interface)
You can now set the line color for the graphical input on the interface and also specify a fill intensity to display color below the line.
Learn More
Integer Option on Allocation Input (Interface)
The Allocation Input object now has the option to computer only integer values allowing more control of both the values and the label appearance.
Learn More
Offline Help Files
There is now a menu option to download the help files as a zipped archive for use offline. This allows you to view the help files locally when you do not have an internet connection.
Learn More
Sharing Models and CLDs Online
We have added to the options for sharing Models and CLDs online allowing you to give other people access to your work without marking it as creative commons.
This option is not available in the free online editor.
Learn More
Causal Lens Improvement
If there are long variable names in the causal lens, you can now Hover over to see the full expanded name.
Learn More
Multiple Leakage Control
When a conveyor has multiple leakages with different leak zones you can now specify whether the leakage fraction on later leak zones applies to the inflowing quantity or the
quantity that has remaining after the earlier leakages.
Learn More
July 30, 2018 - Stella 1.7
Navigation Control
The Interface has a new tool used to add a set of navigation links to an interface page or template. The bar of navigation links can appear as a row of tabs or buttons.
The styling includes radius corners and spacing.
Learn More
Spell Check
You can now spell check for variable names, documentation, and labels. You can select different dictionaries in the
Preferences Dialog
and correct misspellings using the Context Menu.
Encapsulating Sectors and Selections into Modules
There is new functionality to take a selection of variables, or a sector, and create a module with the appropriate cross level connections into and out of it. This makes it easy to
simplify models that have too much detail built up in any given module.
Learn More
User Defined Macros
You can now create reusable pieces of model structure that can be used the same way that the builtin functions are. This allows you to create customized versions
of commonly occurring patterns such as cascaded delays as well as more specialized functions.
Learn More
Bubble Charts
Bubble charts allow you to display three different dimensions of attributes on a single graph. These graphs represent a snapshot of values at a time and will animate during simulation or
when dragging the time slider.
Learn More
Mixing Graphs and Tables in Containers
You can now create a container that includes both graphs and tables making it easier to provide the output you want without using up real estate.
See Graph Series Property Panel
and Table Properties for more details.
Run by Modules Improvements
It is now possible to turn modules on and off in Stella Live, while paused.
Learn More
Conveyor Leakage Changes
Leakage computations on conveyors with a variable transit time have been improved to more accurately reflect the leak fraction or rate.
Learn More
Interface Scaling Improvements
You can now set interfaces to scale prepositionally when they are deployed. This makes it easier to have interfaces that work on different devices without having to limit
the minimum or maximum size (another added scaling capability).
See Resizable Interfaces
and the Resizable Options dialog for more information.
Learn More
Multiple Entry Scatter Charts
Scatter charts can now have more than a single entry. This allows for comparison of x and y values across different runs or comparison of different sets of x and y values.
Learn More
Irregular Time Axis on Imported Data
It is now possible to import data with arbitrary time values rather than requiring a uniformly increasing time axis. This makes it easier to accommodate missing values
as well as values from different data sources.
Learn More
Stashable Graphs and Tables
Stashable graphs and tables allow you to hold on to run results that are of special interest, while displaying the current run at all times.
This is a convenient way to collect a sequence of interesting outcomes, and replaces the old functionality related to persevering and releasing data.
Learn More
Picture in Picture Module Viewing
It is now possible to peek into modules without navigating into them. This allows you to see what is happening in a module while still looking at what is happening on
the parent model of that module. This allows you to make changes in Stella Live and see the consequences of those changes in another module. It also allows you to get
an overview of module structure without losing your current visual focus.
Learn More
Model Compare
A new feature has been added that allows you to compare the model you currently have open with another saved model. This is a convenient way
to see what changed have been made for models derived from one another or a common source.
Learn More
Narrowing Time Range for Results Panel and Causal Lens
You can now zoom in on the displayed time in the Results Panel and Causal Lens. This makes it easier to trace down sources of behavior at a point
in time, as well as seeing changes in behavior between multiple runs.
See Results Panel
and Causal Lens™ for details.
Vertical Sliders
There is now an option to display sliders vertically as well as horizontally.
Learn More
Collapsable Panels
Many of the panels now include sections that can be collapsed if you do not needs to refer to it. This decreases the amount of information
displayed on the panel and thus easier to work with.
Learn More
Equation View Enhancements
We have added options to the equation viewer to make it easier to provide written model documentation to meet the requirements of peer reviewed journals
such as the System Dynamics Review.
Learn More
Line Graph Updates
You can now specify that graph be drawn without connecting the points into line.
Learn More
Button Highlighting on Mouse-Over (Interface)
There is a new option to have buttons change their appear as the mouse cursor passes over them.
Learn More
Aligning Objects
When you select 3 or more objects on the interface there is now a menu option to either align or distribute those objects to clean up layout. You
can keep the movement of objects completely horizontal or completely vertical by holding down the Shift key. This works on both the model and the interface.
Learn More
Loop Indicator Improvements
The loop indicator now works by selecting all of the elements you want highlighted. This allows you to select more specific loops or parts of structure for display.
Learn More
Find Persistence
The find will now retain what you are searching (Variable Name, Equation or Documentation), the order in which to display results, and whether to
search in the whole model, the current module or the current module and modules it contains.
Sensitivity Improvements
You can now provide an external list of parameters to change when running sensitivity analysis, and we have changed the sampling for Ad-Hoc and Incremental
when running a limited number of runs to better support random selection of discrete values.
Learn More
Improved Security Settings
We have made a number of internal improvements to the security settings and fixed issues that arose from specific character combinations in low
security passwords. One consequence of this is that models saved in the current version using security settings will not open in versions before version 1.7.
Learn More
Improved Opening Time
Large models should now open more quickly.
February 15, 2018 - Stella 1.6
Global Number Formatting
You can now specify a model level default number format that will be applied to all variables instead of having to do this variable by variable.
This is done in the Model Settings Properties Panel. The options are the same as they are for each variable, and variables can still be set
individually as well.
Learn More
Currency, Prefixes and Suffixes for Formatted Numbers
Instead of limiting output formatting to use a $ or % you can now specify arbitrary prefixes and suffixes for output numbers.
Learn More
Time Formatting and Labeling
You can now format time to display years, months and days and not simply decimal values.
Learn More
Variables Used in Graphs, Tables and Interface Objects
You can now find what graphs or tables (or interface object) a variable is used in by right clicking and selecting Find Uses on the right (Ctrl)
click menu.
See Context Menu for more details.
You can also locate exported tables from the
Export Data dialog box.
Published Model Performance
The performance of published models, especially simulation speed, has been dramatically improved and will, with a modern browser, match the performance on the desktop.
Importing and Exporting Data
It is now possible to import and export data from the interface for published models. These are both set up using a
Button (Interface).
When the button is clicked the user will be prompted for a file to upload or save to. Only .csv files are supported on the interface.
See also notes in Creating Import and Export Files.
Simulation Speed Control
The new Simulation Speed control allows you to let the interface user set the speed at which the model simulates.
Learn More
Object Visibility
You can now have objects be made conditionally visible based on variable values, or the role in a multiplayer game. This allows customization of the user experience based on the state of a simulation.
Learn More
Display Time
Much like the progress bar in the development environment the Display Time object shows progress during a simulation and allows the user to scrub over different times in the simulation.
Learn More
Support for Sound
You can now add a button that will play a sound, and have a sound be played in response to a simulation event. This works the same on the desktop and for published models,
though supported sound formats vary by browser.
See Button (Interface) and
Simulation Event Action dialog for more detail.
Documentation on the Interface
You can now display equations, units of measure, and any documentation provided for a variable in a Model View. This material is displayed as the mouse
moves over the elements of the model.
Learn More
Negative Binomial Distribution
The NEGBINOMIAL (negative binomial) builtin has been added. This returns the number of failures that occurred getting to a specific number of
successes for a given probability of success.
Learn More
Truncating and Sampling Distributions
You can also specify a minimum, maximum and sampling interval so that it is easy to create truncated or sample distributions in models,
and truncated distributions for sensitivity.
Learn More
Quoting of Array Dimensions and Elements
You can quote an array dimension name and element names by putting double quote around them (as in "1-2"). This capability is in place primarily
to support the importation of models translated from other languages. If you do create labels with quotes the model will not work in previous
versions of Stella.
Probability Density Options on Histograms
The Histogram has had options added to appear as a probability density function (pdf) and cumulative density function (cdf).
Learn More
Improved Variable Highlighting
Highlighting of variables is now easier to find even in dense models with lots of color.
Passing Parameter Information for Data Collection
It is now possible to pass parameters to a simulation set up with data collection by appending them to the URL for the model.
Learn More
November 21, 2017 - Stella 1.5
Optimization
Optimization allows you to find a set of parameter values (model constants) that maximize a payoff you defined in terms of other model variables.
This is similar to running sensitivity that is guided to achieve specific outcomes.
Learn More
Confidence Bounds, Histograms and Correlation Plots
The output of graphs and tables has been enhanced to support a number of formats that can be very helpful when working with a large number of
sensitivity runs.
Confidence bounds allow you to see what percentage of runs leave values in different ranges at each point in time. This allows for a clear
visualization of the divergence or convergence of values over time given different assumptions on parameters and also how concentrated the
values are at any point in time.
See Graph Series Property Panel for details on turning these options on.
The same information can be presented in tables identifying numeric values for the different percentiles
(see Table Properties for details).
Histograms are created by collecting results from different runs and grouping them into buckets for different ranges. This allows you to
see how many runs fall into each of the ranges. Histograms are available as an option on the Bar Graph.
Learn More
Correlation plots allow you to see how one variable correlates with another over a series of runs. This is done with scatter graphs by
turning on comparative and checking the option to show only a single value.
Learn More
Precomputed Values
When a model is paused, the values of all variables, stocks, flows and converters, are available at the time of the pause. On the model window
these values will be updated if you make changes to any model parameters. For tables and graphs, the interface will report only stocks at the
current time, but other output devices, such as numerical displays, can be set to report the precomputed values. The option to pause before
computing flows has been removed as this is no longer necessary.
Learn More
Sensitivity, Payoff and Optimization Setup
These are now accessed through the model analysis tab of the properties panel for the model. Use the sensitivity tab to access sensitivity setup.
Learn More
Context Sensitive Help (not in rc1)
Clicking on the ? icon in any of the panels or dialogs will now take you to the help entry specific to that panel or dialog.
Save Interval
You can now specify a save interval. This is useful for decreasing the storage requirements for large models and also
for keeping data collection working well.
Learn More
Graph and Table Labeling and Ordering
If you are using the tabbed or dropdown styles for selecting between multiple graphs you can now set a label for the
tab or dropdown entry that is separate from the graph/table title. It is also possible to reorder the entries.
See Pages Styles (Interface),
Graph Settings Properties Panel, and
Table Properties for more discussion.
July 22, 2017 - Stella 1.4
Multiplayer Games
In addition to publishing model interfaces, you can now create multiplayer games in which players connect from their own browsers, make decisions, and indicate their readiness to proceed.
The model then uses decisions from all of the players as inputs for the next step in the game. Multiplayer games can be published to the isee Exchange under the Creative Commons license,
with some limitations on model size.
Learn More
SVG Animations
It is now possible to create sophisticated animations based on SVG graphics files. These animations can include color, size, and rotation.
Learn More
Conditional Actions on Buttons
When you add a button to your interface, you can now set conditions under which each of the actions will be executed. This is especially useful in multiplayer games.
Learn More
Resizeable Interfaces
Published interfaces can now be made resizable, allowing them to work well on a variety of devices.
Learn More
Data Collection
You can now collect data on the use of your published simulation, including the results from different users and the time spent on different pages.
Data collection is available through an isee Exchange subscription. There are several reporting options available for analyzing the data.
Learn more .
Array Expressions
The modeling language has been extended to allow the use of expressions inside of the array functions (such as SUM(a*b)) to take an inner product. An inner product
operator has also been added for 1 and 2 dimensional arrays.
See Working with Arrays and especially
Specialized Array Manipulation for more discussion.
Multiple Page Graphs, Tables, and Inputs (Interface Only)
Here are new options for navigating through multiple pages of graphs, tables, and input devices. Rather than the standard right and left buttons, you can use tabs for each page, or a dropdown
list including all pages. This is applicable to graphs, tables, group inputs, and arrayed inputs, and is selectable from the properties panel for each.
Learn More.
Connecting Modules
When you connect a variable to a module, or a module to a variable, you will see a menu item allowing you to select which variable within the module to connect.
This will appear only if there is something marked as an input or output within the module that has not yet been connected.
Using Initial Equations with Graphical Functions
We have made a behavior change when you are using a separate initialization equation for a graphical function variable. Previously, the I equation would determine the value of the variable.
Now the I equation determines the input into the graphical function.
Initialization and Graphs
Graphs will now use the initial values computed in the background. For bar graphs and pie charts, this means they will be populated with initial values before and after running an output restore.
Regular graphs will not draw, but they will have a scale. This is true for models and interfaces, including published interfaces. Note that changing a controlled value will no
longer generate a new initialization.
Stella Live Behavior
We have adjusted Stella Live to be less sluggish on larger models, and also to give visual cues when the model is in the process of computing. In particular, as you dial a knob, while the software
is computing the graphs, over model elements will be displayed in gray instead of red. This indicates that the graphs are potentially out of date relative to the value showing for the knob.
June 12, 2017 - Stella 1.3.1
Model Editing
If you try to make a connection that would cause a circularity the list of variable involved in the circularity is not displayed in a dialog box.
Hovering on a connecter into or out of a module will now show which variables are being connected.
You can now navigate out of modules using keys. To get to the containing module use Ctrl+Up Arrow (⌘+Up Arrow on the Mac). To get to the home module use Shift+Ctrl+Up Arrow (Shift+⌘+Up Arrow on the Mac).
Learn More.
The three line limitation on variable names has been removed.
You can now add polarity symbols to flows.
Interface Editing
On the interface, the auto-alignment grid now includes objects in templates so that you can more easily manage page layout.
Keyboard scrolling using the arrow keys has been improved.
Equation Editing
Array names and elements have been added to the auto-complete when working with arrayed equations.
The scales and ranges tab has a new icon (#) that is more representative of its function.
Published Models
We have substantially improved the performance of published models of significant size.
May 10, 2017 - Stella 1.3
Stella Online
You can now edit and work with your models online by logging in through the isee Exchange.
Learn More
New Graph Options
Available for both the model and interface we have added two new options for displaying results.
The Pie Chart
is a new output format for the display of variable values at a point in time.
The Area Graph
allows you to display a series of graph values stacked on one another with distance between them based on the values of the variables. Both of these are configurations of graph objects
and can be selected in the Graph Properties Panel.
Allocation Input on Interface
The new Allocation Input (Interface)
object allows users to set values for inputs that need to add up to a set amount. It is implemented as a draggable pie chart, with adjacency determining the sequence in which other inputs change as the user makes adjustments.
Reset Buttons on Interface
A reset button has been added to interface input objects allowing them to be reset to the model value by the user (the button also marks the control as changed). This option to use this is
set in the Interface Settings Properties Panel.
Import/Export Now action on Interface
Buttons on the interface can now execute either an import or an export of an on demand data link. These actions do not do anything for published models.
See Button (Interface) for more details.
Graphical Input Points
Graphical input objects on the interface can now be changed either by tracing the shape, or by switching the Table view and entering xy pairs.
Learn More.
Improved Import and Export Capabilities
You can now import both the x and y axis for graphicals by putting :x and :y after then name of the graphical in successive rows or columns. See
Creating Import and Export Files for details.
The import options now handle arrayed inputs more consistently and better manage compatibility between US and European number formatting.
Parameter Control Panel Improvements
The Parameter Control Panel
now highlights variables that have been overridden on the panel making it clearer what has been changed (this is especially important for values already imported).
Language Changes
Any graphical functions that use a constant as an input will now be marked as invalid. This makes it easier to uncover issues where TIME might have been the intended input. If you do want a constant as an input you can use an expression (as in 0+0)
to prevent the error. The INIT and ENDVAL builtins can now take an expression in addition to using a variable directly.
February 1, 2017 - Stella 1.2
Updated Data Manager
A number of other improvements have been made to the Data Manager giving you more control over the way in which runs roll off the list and what runs are displayed in graphs and tables.
Learn More
Importing External Runs
We have added the functionality to import runs from external data sources to the Data Manager. This makes it easy to compare results with measured data or with results from other models.
Learn More
Parameter Control Windows Updates
The parameter control window has been enhanced so you can see the original model value and to make it easier to reset and control different variables.
Any variables appearing in the parameter control window are also marked on the model diagram.
Model View Improvements and Animation
You can now optionally animate diagrams shown in the Model View including those shown for storytelling. The Model View controls have been improved to make it easier to include model elements on
interface pages and stories.
Learn More
Circularity Checking
Circularity checking and reporting have been improved and now detects subtle initialization dependencies related to leakages and discrete stock equilibrium initializations. Circularities are now
reported one loop at a time, and all the variables in the loop are marked invalid making it easier to visual the loop.
Divide 0 Operator
We have added a // operator which works the same as SAFEDIV giving 0 instead of an error when dividing by 0. Divide by zeros are more accurately reported, even when they occur within expressions
such as MIN. Legacy models will automatically have some of this reporting masked to maintain compatibility.
Preserving Graphs and Tables
You can now preserve graphs and tables with a single click so that they will not change with new runs or be cleared when you restore outputs. This is done from the Graph Properties Panel.
Learn More
June 20, 2016 - Stella 1.1
Interface/Stella Designer
The interface development tools are all new. The new interface development and deployment capabilities take you from design to presentation and, optionally, the web quickly and cleanly.
Learn More
Interfaces developed in previous versions of the software will be translated and most of their functionality retained, though some adjustment will be necessary to get optimal results.
Learn More
Causal Lens
The Causal Lens displays graphs for a variable and the inputs to that variable helping you to better understand the sources of model behavior.
Learn More
Table in Results Panel
The Results Panel now includes both a graph and a table allowing you to look at specific values at specific times easily. There is also a checkbox to not round the scales which is helpful when
looking at variables with limited movement through a simulation.
Learn More
Simulation Log
The Simulation Log records any variables that go above or below their specified ranges, as well as graphicals with inputs above or below their specified minimum and maximum x values.
The same log is also used to report messages about anything that happens when opening a model.
Learn More
Parameter Control
The Parameter Control Panel allows you to see what variables are changed relative to their model equations, and also make changes to those variables.
Learn More
Selection History Panel
The Selection History panel keeps track of which variables you have selected making it easier to go back and see where you have been. Click on an entry till take you back to that variable.
Learn More
Clearer Selection Highlighting
We have improved selection hightlighting to make it easier to see which variables have been highlighted. This is especially useful as we have added a number of new ways to navigate between variables.
Causes and Uses in Equation Panel
You can right click on a variable in an equation and jump to that variable. There is also a Causes/Uses menu to navigate to variables that cause, or are used by the variable you are looking at.
Learn More
Improved Error Messages
We have improved the error message reporting in equations and made this reporting somewhat stricter, especially around the MIN and MAX functions, to prevent ambiguity.
More Informative Units Messages
The units messages now tell you have many variables you have left to define units for. If you have not defined units for any variable, the dropdown simply reads Define Units.
Unrestricted Naming for Variables
There are no longer any restrictions on what names you use for variables, except that they must be unique and not conflict with any Builtins. When used in equations variables that have operators
or other characters will be quoted and escaped. (If you type them in you will need to do this, but it happens automatically if you choose them or use autocomplete.) Variables with a period (.)
in them will also be quoted when displayed on the diagram (this is to prevent confusion with module qualified names).
Improved Speed
Models open significantly more quickly than before letting you get on with development. Exporting of data is significantly faster and will happen in parallel during simulations.
Added PROD Functions
An analog to the SUM function takes the product across elements of an array.
Large Model Use
An option has been added to the Preferences Dialog that turns off Stella Live when in Explore mode. This allows you to work with larger models and make changes on the model window but only
simulate them when you explicit request a run.
Learn More
Run Specs always Available
You no longer need to go to the home module to change run specs or other model wide settings. These are avilable in the panel from any module.
Equation Viewer
You can now order equations by sector and also view values in the Equation Viewer. Complete information about model size has also been added to the end of the equation listing.
Learn More
Simulation Events
We have redone what used to be called Posters or Simulation Messages into an easier to use system of Simulation Events that can be applied separately to the model and interface.
Existing models will have these converted to the new format working on the model. Navigation events will need to be redone.
Learn More
Export Formats
We have added new export formats to export a single set of values or values at a time and improved the way tables are specified for exporting.
Learn More
August 6, 2015 - Stella Professional 1.0.1
Speed
Substantial improvements have been made to Stella Professional's computation engine. Not only will models open more quickly, but large models should simulate three to eight time faster than
in the previous version. This allows you to get more done more quickly.
SAFEDIV
A new function SAFEDIV (<numerator>, <denominator>, [<onzero>]) has been added that allows division in cases where the denominator might become 0. When this happens the function will
return 0 or the optionally specified third argument. Use this to prevent simulations stopping because of a divide-by-zero condition.
Learn More
Importing Temporary Changes
The Import functionality has been enhanced to allow you to import values without making any changes to model structure. This is useful for running experiments in which you do not want to change the
model, but just see the results of changing constants and graphical functions. This also allows you to override computed variables with a constant value, much like you would when, for example,
attaching a slider to a converter on an interface.
An option has also been added to the Import dialog that will read interface control values from a model created in version 10.1 and create a temporary change files. This allows you to simulate
models in Stella Professional and get the same results that they generated in the Version 10 products.
Repeating Build Steps with the Alt Key
The Alt key now works by holding it down, rather than tapping it, when you want to repeat a build step such as drawing connectors between variables.
Clear Highlighting of Connectors and Names
When you position the mouse over a connector handle (or arrowhead) the color of the connector will change to indicate that it is active and can be dragged. Similarly when you position the mouse over
a variable name, the name will be highlighted with a box to indicate it can be repositioned. This makes it much easier to adjust model layout, especially for densely connected models.
New Menu Items
A Windows menu has been added to allow you to more easily navigate between models when you have multiple models open. Under the Windows menu is an item to open the Results Panel. A Run Specs menu item
has been added to the Model menu as an alternative way of opening the Run Specs panel.
Registration Dialog
Registration information can now be accessed and changed through the Registration dialog box opened from the Help menu. This allows you to change your registration information and unregister the
software from one computer, so you may use it on another. Learn More
Delay Marks and Lettered (s/o) Polarity
When you place a connector the
Style Panel will contain an option for a Delay Mark. The polarity markers can be shown using either +/- or s/o as specified in the
Model Settings Properties Panel.
Hide Module Prefix Option
Set this on the Model Settings Properties Panel to shorten the names displayed in graphs and tables (eg. have profit be displayed instead of accounting.profit).
Learn More
Sketchable Graph Enhancement
You can now create a Sketchable graph for any graphical function in the model without needing to add another variable for comparison. This allows you to use the Sketchable graph as an input control.
Learn More
March 26, 2015 - Stella Professional 1.0
The Stella Window
While using the same set of building blocks and supporting you step-by-step in maintaining the integrity of the models you build, you now have more flexibility and control over appearance.
You'll also find powerful new ways to work with and understand your models.
New Toolbars
For previous users, Stella Professionalis both very familiar and very new. The first thing you notice is a new set of toolbars.
Build Toolbar
The Build Toolbar contains the same components as previous versions, with slightly different icons. By default it is in the same location.
Moving Toolbars
All toolbars are movable and can be docked on any side of the window. By default, the Build and Mode toolbars are at the top, and the Run toolbar is at the bottom.
If you grab the handle at the left end of a toolbar, you can put the toolbar in a new location along one of the other edges, or leave it floating.
Panels
Side-docked panels allow you to define and edit properties for model entities while still viewing the diagram. Drag and drop entities from the diagram into equations to use them as variables.
Undock the panels to create a floating window that you can resize and place anywhere on your screen.
Learn More
Layout
In addition to fonts and colors you can now set the size on stocks and converters and set specific Converters to be name-only. This, combined with bendable Bezier connecters, allows much more
flexibility in presentation. Easier layout is facilitated by Object guides. These appear as you move objects around the window, any time one object aligns with another.
Styles
You now have much more control over appearance. Set fonts, colors, and other attributes. For example, you can change the font on flows, mark a converter as Name Only, resize stocks,
and use Bezier connectors
Model Hierarchy
Run Specs and Page Settings follow this heirarchy, and are set from the Properties panel. When in the root page of the model, with nothing selected, set the Run Specs and Page Settings for
the entire model. If you create new modules, they inherit those settings, but you can override them for any module. Any modules used within that module inherit its properties, but they
in turn can be overridden.
Partial Simulation
Use Partial Simulation tab to select specific modules or sectors to include in the simulation.
Page Settings
Use the Model Styles tab to set default fonts, colors and label positions for all objects for which those attributes have not been set.
Run Specs
Models use a hierarchical structure. Set styles for objects at the model level and override them at the module or object level. Change the model style to changes everything that
has not been explicitly overridden. You can also change styles and other attributes for all selected objects.
Multi-dimensional arrays
Expanded array capabilities provide more flexibility when you are defining array equations, creating arrayed graphical functions, and entering constants across an array. Create up to ten dimensions
for arrayed entities. Index dimension elements by number or label. Use the new Array Editor to easily import or paste element labels from a spreadsheet or comma/tab-separated list.
Learn More
Data Manager
The new Data Managers allows you to archive and recall simulation results. Name and save run data from different scenarios or sensitivity tests to easily identify and reload results.
Simulation data is stored in a separate SQLite database file and accessible using standard database tools.
Learn More
Embedded modules
Hierarchical modules are now embedded in a single model file by default. For collaborative model building and creation of reusable templates, use the option to automatically save modules as separate files.
Learn More
Statistical built-in functions
COMBINATIONS, FACTORIAL, INVNORM and PERMUTATIONS have been added to the list of statistical built-in functions. New stochastic distributions include BETA, BINOMIAL, GEOMETRIC, GAMMA, LOGISTIC,
PARETO, TRIANGULAR, and WEIBULL. To learn more, see Statistical builtins.
Learn More
Rich text documentation
Source information and other details about model entities can be documented in rich text/HTML format, using options available in the new Documentation panel.
Learn More
Improved conveyor leakage
Conveyors now support multiple leakage flows. Use additional leak zone options to simplify main chain structures that contain cohorts with varying leakage fractions.
Learn More
Expanded Find functionality
Use the new Find palette to locate model entities using string search, hierarchical views, and filtering capabilities. Drag and drop entities from the Find palette directly
into entity equations and input/output devices.
Learn More
New graphical function options
Edit the input values (X-axis) of graphical functions to align with your data. Use the new continuous extrapolation option to linearly extrapolate values that are beyond the graphed curve.
Learn More
Industry standard XMILE format
Model files support the new industry standard (XMILE) for common interchange of system dynamics models. Use any text or XML editor to search, edit, or document your model.
Learn More
More powerful modeling engine (STEAM)
The new STEAM engine does not place limits on the number of entities, data points, and/or time steps in your models. This new more powerful and flexible engine will provide a solid foundation for
future development and expanded functionality of Stella.
Cycle Time
Cycle Time lets you time stamp and track material as it flows though the model in order to precisely compute how long different tasks and activities are taking.
Delay Converters
Delay Converters lets you mark a Converter as changing over time in response to changes in its input as happens with SMTH1, SMTH3, DELAY, DELAY3 and related Builtins. A Delay Converter shows
a box inside the regular Converter circle indicating it has some of the properties of a Stock. Because it has properties of a stock it is possible for Delay Converters to be involved in
feedback loops in which no explicit Stock exists.
Units
Units are more flexible and comprehensive and provide better feedback on issues in dimensional consistency. It is now possible to define multiple aliases for a unit of measure so that you have
more flexibility in expressing compound units.
Sensitivity
Sensitivity now allows for a broad range of distributions in specifying input changes.
Module Files
Module files are now stored in a folder prefixed with the model name so that you can save a separate copy of a model using modules in file without changing the original model.
Find Dialog
Find dialog has been updated to provide much better control for searches including finding remaining Building Block errors.
Random Number Generator
New Random Number Generator provides more robust streams of values for the different random number Builtins. The new generator is appropriate for use with high replication Monte-Carlo.
Built-Ins
New Builtins have been added, primarily to support Cycle Time (CTFLOW, CTMEAN, CTMIN, CTSTDDEV, CYCLETIME, THROUGHPUT) but also UNIFORM for random number generation and GAMMALN for statistical computations.
Arrayed Equation Editor
Arrayed Equation Editor for non Apply-to-All arrays makes it easier to work with arrayed variables that have multiple equations. You can pop it up from the Equation tab of the Properties panel
and select multiple element entries to edit together. This makes it much easier to work with arrays where many of the equations are the same.
Explore Mode
Enter Explore mode by running the model from the Run toolbar or menu, or select Explore from the View toolbar. In this mode, graphs appear on all objects for which results are available.
To view larger graphs, including full axis labeling, open the Results panel and select an object containing a graph. This allows you to easily walk through a model with the mouse looking
at results. Open the Results panel from the Model menu or right-clicking an object and choose View Results.
Edit Mode
Enter Edit mode by double-clicking a model element while in Explore mode. All appropriate tabs appear for the selected object.
Validity Indicators
The validity mechanism evaluates equations and units for validity and dimensional consistency. In Map view, any unfinished or invalid building blocks contain a small caution sign.
Results Panel
The Results panel shows comparative graphs on-the-fly. You can still define and place Graphs and Tables in the model with these added capabilities to graph any selected variables from selected runs,
include comparative and non-comparative results in a single graph or table, use the Properties panel to control scaling, layout and appearance and Ctrl-Drag (Cmd on Mac) building blocks onto output
devices to populate Graphs and Tables. You can even use this method to populate equations, summing converters, and any input variable.
Comparitive Graphs and Tables
Comparative tables and graphs now work in concert with the Data Manager. Any runs held by the data manager are displayed in Comparative graphs and tables as soon as you specify the variable.
Thus you do not need to run the model again to see the results when you change a variable. If you have specified that 5 runs be saved in the Data Manager, the oldest run falls off of
Comparatives when you make a sixth run. When doing a Sensitivity run, Comparative graphs and tables show the results for all of the Sensitivity runs, but once you make another run, they revert
to showing the runs stored by the data manager (which may be a smaller number of runs). You can now lock individual runs in graphs and tables. This can be done on the Property panel for
the graph or en-masse for Comparatives by right clicking and accepting the list of Displayed Runs other then Next Run.