# STELLA (programming language)

STELLA (short for Systems Thinking, Experimental Learning Laboratory with Animation; also marketed as iThink) is a visual programming language for system dynamics modeling introduced by Barry Richmond in 1985. The program, distributed by isee systems (formerly High Performance Systems) allows users to run models created as graphical representations of a system using four fundamental building blocks. STELLA has been used in academia as a teaching tool and has been utilized in a variety of research and business applications. The program has received positive reviews, being praised in particular for its ease of use.

## History

While working at the Massachusetts Institute of Technology in the 1960s, Jay Wright Forrester developed the earliest understanding of system dynamics which he argued could only be understood using models. Dartmouth College systems science professor Barry Richmond founded High Performance Systems in 1984. With the financial support of Analog Devices, Inc. and technical support from Apple Computer, he developed STELLA (short for Structural Thinking, Experimental Learning Laboratory with Animation) at his company. He presented the prototype for the visual programming language in 1985 at the System Dynamics Society's annual conference in a paper entitled "STELLA: Software for Bringing System Dynamics to the Other 98%".
Within that paper, Richmond mused on the study of system dynamics: "If this stuff really is so great, then why hasn't the field 'taken off'?" Steve Peterson, a colleague of Richmond's, reflected after his death in 2002 that Richmond held the belief that modeling was a tool everyone should be using and that that notion was reflected in Richmond's work. He quoted a 1994 paper in which Richmond described STELLA as "quite unique, quite powerful, and quite broadly useful as a way of thinking and or learning. It's also capable of being quite transparent–leveraging the way we learn biology, manage our businesses, or run our personal lives".

## Functionality and features

STELLA's approach to modeling systems shares some similarities with a precursor, the DYNAMO simulation language. DYNAMO explicitly defined "stocks" (reservoirs) and "flows" (inputs and outputs) as key variables in a system, a vocabulary that STELLA shares. Within STELLA, users are presented with a graphical user interface in which they may create graphical models of a system using four fundamentals: stocks, flows, converters, and connectors. Relationships between converters (which convey transforming variables) and other elements may be drawn with converters. Users are able to input values for stocks, flows, and converters (including a variety of built-in functions). STELLA does not differentiate between external and intermediate variables within a system; all of them are represented with converters.
The software produces finite difference equations that describe the graphical model and allows users to select a numerical analysis method to apply to the system, either the Euler method or various Runge–Kutta methods (either second or fourth order). Before running a model, users may also specify a time step and runtime for the simulation. STELLA can output data in graphical or tabular forms.
STELLA runs one window at a time, meaning that only one model can be run at any given moment. The program's native file formats are denoted either by an .stm, .stmx, .itm, or .itmx filename extension. STELLA also uses the emerging XML-based standard for storing models, XMILE. In 2012, two researchers released StellaR, software which can translate STELLA models into the R programming language.

## Applications
### Education

Because of its simplicity relative to more complex modeling languages, STELLA has been cited as a useful tool in educational settings. Richmond derisively viewed most education as "assimilating content" and proposed systems thinking as a remedy to this.
In 1987, High Performance Systems released a guide to STELLA encouraging its use in academic settings and numerous textbooks have been published that teach modeling and systems thinking using the software. Sample exercises with STELLA include recreating the Daisyworld model, simulating the Easter Island population crash, and modeling the protagonist's motivation throughout William Shakespeare's Hamlet.
A 2010 study of the efficacy of project-based learning upon a watershed-modeling project undertaken by 72 middle schoolers found that the addition of a STELLA modeling component in the project improved overall comprehension of the material over traditional methods, especially among female students who outperformed their male counterparts with the addition of STELLA.

### Academia and commerce

The software is also used in research settings. Among other projects, researchers have used STELLA to apply Hubbert peak theory to the Chinese coal supply, to model atrazine dynamics within agricultural lands, and to simulate the interactions between marine macroinvertebrates.
isee systems markets an identical software targeted at business consumers under the name iThink (previously STELLA for Business). iThink models have been applied to a variety of systems including manufacturing lines, hospital waste in developing nations, coordination between an emergency room and hospital beds, and competition in the home video market.

## Reception

In a 1987 review of the program in BioScience, Robert Costanza wrote that "STELLA is a solid program–well planned and executed–that breaks new ground." He praised its ease of use as beneficial both to beginners interested in learning how to build models and experts who could use it to test components of more complex models. A 1998 review of the program in the Bulletin of the Ecological Society of America concurred that the program was easy to use, especially for beginning modelers, but noted its lack of model optimization tools and the ability to run only one window at a time as drawbacks.
Writing for Complexity in 1997, Benedikt Hallgrímsson found the program's accompanying manual to be overzealous in its promotion of systems theory but cautioned that "the manual need not detract from what is otherwise a very well-thought-out and constructed program."
A 1991 review of iThink in Planning Review noted that the software's strength was in its low cost (the program retailed at around $450 (US$1,007 in 2023 dollars) and the vast number of possibilities allowed by its open-ended form.