STELLA (programming language)

From Wikipedia, the free encyclopedia
STELLA programming language logo.gif
ParadigmVisual programming, simulation language
Designed byBarry Richmond
Developerisee systems (formerly High Performance Systems)
First appeared1985; 38 years ago (1985)
Stable release
2.0.3[1] / November 25, 2020; 2 years ago (2020-11-25)
OSmacOS, Windows.[2]
Filename extensions.stm, .stmx, .itm, .itmx
Influenced by

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 and low cost.[3][4][5]


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.[6] Dartmouth College systems science professor Barry Richmond founded High Performance Systems in 1984.[7] 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.[8][9] 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%".[4][8][10]

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'?"[11] 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.[8] 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".[8]

Functionality and features[edit]

A diagram with a blue rectangle ("Cat population") being fed by blue arrows ("Cat births" and "Cat deaths"). Pink arrows feed the blue arrows from "Cat birth rate" and "Cat death rate" circles.
A simple STELLA model of a cat population; stocks are represented as rectangles, flows as pipes to/from the stock, converters as the circles, and connectors as the curved lines with arrows.[12]

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.[9] 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.[13] 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).[14] STELLA does not differentiate between external and intermediate variables within a system; all of them are represented with converters.[15]

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).[16] Before running a model, users may also specify a time step and runtime for the simulation.[17] STELLA can output data in graphical or tabular forms.[18]

STELLA runs one window at a time, meaning that only one model can be run at any given moment.[4] 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.[19] In 2012, two researchers released StellaR, software which can translate STELLA models into the R programming language.[20]



A STELLA model from a paper on carbon impacts in forest biomass[21]

Because of its simplicity relative to more complex modeling languages, STELLA has been cited as a useful tool in educational settings.[6] Richmond derisively viewed most education as "assimilating content" and proposed systems thinking as a remedy to this.[22]

In 1987, High Performance Systems released a guide to STELLA encouraging its use in academic settings[23] and numerous textbooks have been published that teach modeling and systems thinking using the software.[24][25] Sample exercises with STELLA include recreating the Daisyworld model,[26] simulating the Easter Island population crash,[27] and modeling the protagonist's motivation throughout William Shakespeare's Hamlet.[28]

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.[29]

Academia and commerce[edit]

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,[30] to model atrazine dynamics within agricultural lands,[31] and to simulate the interactions between marine macroinvertebrates.[32]

isee systems[a] markets an identical software targeted at business consumers under the name iThink (previously STELLA for Business).[5][33] iThink models have been applied to a variety of systems including manufacturing lines,[13] hospital waste in developing nations,[34] coordination between an emergency room and hospital beds,[35] and competition in the home video market.[5]


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."[3] 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.[3] 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.[4]

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."[36]

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$895 in 2021 dollars [37]) and the vast number of possibilities allowed by its open-ended form.[5]

See also[edit]


  1. ^ High Performance Systems changed its name to isee systems in 2004.[7]


  1. ^ "Feature updates". isee systems. Archived from the original on January 13, 2021.
  2. ^ "Software FAQs". isee systems. Archived from the original on January 13, 2021.
  3. ^ a b c Costanza, R. (February 1987). "Simulation Modeling on the Macintosh Using STELLA". BioScience. 37 (2): 129–132. doi:10.2307/1310367. JSTOR 1310367. closed access
  4. ^ a b c d Carter, J. (October 1998). "Two Visual Programming Languages for Simulation Modeling: Stella 5.0 and Modelmaker 3.0". Bulletin of the Ecological Society of America. 79 (4): 237–239. JSTOR 20168276. closed access
  5. ^ a b c d Samzelius, J. E.; Miller, S. E. (1991). "ithink: Animated Strategic Models on Your Desktop Computer". Planning Review. 19 (1): 32–34. doi:10.1108/eb054316. closed access
  6. ^ a b Doerr, H. M. (1996). "Stella ten years later: A review of the literature". International Journal of Computers for Mathematical Learning. 1 (2): 201–224. doi:10.1007/BF00571080. S2CID 19428296. closed access
  7. ^ a b "High Performance Systems, Inc. becomes isee systems" (PDF) (Press release). Lebanon, NH: isee systems. March 4, 2004. Archived from the original (PDF) on October 22, 2006. Retrieved March 1, 2016.
  8. ^ a b c d Peterson, S. (July 2003). Barry Richmond, System Dynamics and Public Policy (PDF). 21st System Dynamics Conference. New York City. pp. 1–14. Archived from the original (PDF) on March 1, 2013. Retrieved February 29, 2016.
  9. ^ a b Bossel 1994, p. 213.
  10. ^ Richmond et al. 1987, p. iv.
  11. ^ Richmond, B. (1985). STELLA: Software for Bringing System Dynamics to the Other 98% (PDF). The 3rd International Conference of the System Dynamics Society. Keystone, CO. pp. 706–718. Archived from the original (PDF) on March 1, 2016. Retrieved February 29, 2016.
  12. ^ Richmond et al. 1987, pp. 85–97.
  13. ^ a b de Souza, R.; Huynh, R.; Chandrashekar, M.; Thevenard, D. (October 1996). A comparison of modelling paradigms for manufacturing line. IEEE International Conference on Systems, Man, and Cybernetics, 1996. Beijing. pp. 1253–1258. doi:10.1109/ICSMC.1996.571288. closed access
  14. ^ Hannon & Ruth 1997, p. 13.
  15. ^ Bossel 1994, p. 216.
  16. ^ Taffe, W. J. (March 1991). Simulation and modelling with Stella: a general education course. 22nd SIGCSE Technical Symposium on Computer Science Education. San Antonio, TX. pp. 87–91. doi:10.1145/107005.107021. closed access
  17. ^ Hannon & Ruth 1997, p. 14.
  18. ^ Bossel 1994, p. 219.
  19. ^ "XMILE – An open standard for system dynamics models". isee systems. 2013. Retrieved January 23, 2018.
  20. ^ Naimi, B.; Voinov, A. (December 2012). "StellaR: A software to translate Stella models into R open-source environment". Environmental Modelling & Software. 38: 117–118. doi:10.1016/j.envsoft.2012.05.012. closed access
  21. ^ Timmons, D. S.; Buchholz, T.; Veeneman, C. H. (May 2016). "Forest biomass energy: assessing atmospheric carbon impacts by discounting future carbon flows". GCB Bioenergy. 8 (3): 631–643. doi:10.1111/gcbb.12276.
  22. ^ Richmond 2013, pp. 9–11.
  23. ^ Richmond et al. 1987, pp. 245–246.
  24. ^ Hannon & Ruth 1997, p. vi.
  25. ^ Bossel 1994, p. xv.
  26. ^ Hannon & Ruth 1997, p. 357.
  27. ^ Menking, K. (January 7, 2016). "Unit 2 Reading: Growth and Dynamics of Populations". InTeGrate. Carleton College. Archived from the original on March 4, 2016. Retrieved March 3, 2016.
  28. ^ Hopkins, P. L. (Winter 1992). "Simulating Hamlet in the classroom". System Dynamics Review. 8 (1): 91–98. doi:10.1002/sdr.4260080109. closed access
  29. ^ Eskrootchi, R.; Oskrochi, G. R. (January 2010). "A Study of the Efficacy of Project-based Learning Integrated with Computer-based Simulation – STELLA". Journal of Educational Technology & Society. 13 (1): 236–245. JSTOR jeductechsoci.13.1.236. closed access
  30. ^ Tao, Z.; Li, M. (June 2007). "What is the limit of Chinese coal supplies—A STELLA model of Hubbert Peak". Energy Policy. 35 (6): 3145–3154. doi:10.1016/j.enpol.2006.11.011. closed access
  31. ^ Ouyang, Y.; Zhang, J. E.; Lin, D.; Liu, G. D. (March 2010). "A STELLA model for the estimation of atrazine runoff, leaching, adsorption, and degradation from an agricultural land". Journal of Soils and Sediments. 10 (2): 263–271. doi:10.1007/s11368-009-0107-8. S2CID 14407780. closed access
  32. ^ Gertseva, V. V.; Schindler, J. E.; Gertsev, V. I.; Ponomarev, N. Y.; English, W. R. (August 2004). "A simulation model of the dynamics of aquatic macroinvertebrate communities". Ecological Modelling. 176 (1–2): 173–186. doi:10.1016/j.ecolmodel.2003.10.029. closed access
  33. ^ Hannon & Ruth 1997, p. 6.
  34. ^ Eleyan, D.; Al-Khatib, I. A.; Garfield, J. (October 2013). "System dynamics model for hospital waste characterization and generation in developing countries" (PDF). Waste Management & Research. 31 (10): 986–995. doi:10.1177/0734242X13490981. PMID 23743573. S2CID 33919085. closed access
  35. ^ Spillan, John E.; Ziemnowicz, Christopher (February 2009). Using Systems Dynamics to Improve Coordination Between Hospital Units. Southeast Decision Sciences Institute Annual Conference. Charlestown, SC. Retrieved November 26, 2022.
  36. ^ Hallgrímsson, B. (July–August 1997). "Simulation Made Simple". Complexity. 2 (6): 38–40. doi:10.1002/(SICI)1099-0526(199707/08)2:6<38::AID-CPLX8>3.0.CO;2-D.
  37. ^ 1634–1699: McCusker, J. J. (1997). How Much Is That in Real Money? A Historical Price Index for Use as a Deflator of Money Values in the Economy of the United States: Addenda et Corrigenda (PDF). American Antiquarian Society. 1700–1799: McCusker, J. J. (1992). How Much Is That in Real Money? A Historical Price Index for Use as a Deflator of Money Values in the Economy of the United States (PDF). American Antiquarian Society. 1800–present: Federal Reserve Bank of Minneapolis. "Consumer Price Index (estimate) 1800–". Retrieved April 16, 2022.


External links[edit]