STELLA (programming language)

From Wikipedia, the free encyclopedia
  (Redirected from IThink)
Jump to: navigation, search
STELLA programming language logo.gif
Paradigm Visual programming, simulation language
Designed by Barry Richmond
Developer isee systems (formerly High Performance Systems)
First appeared 1985; 32 years ago (1985)
Stable release
OS Microsoft Windows, OS X
License Proprietary
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.


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.[1] Dartmouth College systems science professor Barry Richmond founded High Performance Systems in 1984.[2] With 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.[3][4] 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%".[3][5][6]

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

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

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 which STELLA shares.[4] 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.[9] 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 with a variety of builtin functions).[10] STELLA does not differentiate between external and intermediate variables within a system; all of them are represented with converters.[11]

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

STELLA runs one window at a time meaning that only one model can be run at any given moment.[5] The program's native file formats are denoted either by an .stm, .stmx, .itm, or .itmx filename extension. The language runs of Microsoft Windows and OS X and its most recent release was version 10.1.2.[15] In 2012, two researchers released StellaR, software which can translate STELLA models into the R programming language.[16]



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

Because of its simplicity relative to more complex modeling languages, STELLA has been cited as a useful tool in educational settings.[1] Richmond derisively viewed most education as "assimilating content" and proposed systems thinking as a remedy to this.[18] In 1987, High Performance Systems released a guide to STELLA encouraging its use in academic settings[19] and numerous textbooks have been published that teach modeling and systems thinking using the software.[20][21] Sample exercises with STELLA include recreating the Daisyworld model,[22] simulating the Easter Island population crash,[23] and modeling the protagonist's motivation throughout William Shakespeare's Hamlet.[24] 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.[25]

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

isee systems[a] markets an identical software targeted at business consumers under the name iThink (previously STELLA for Business).[29][30] iThink models have been applied to a variety of systems including manufacturing lines,[9] hospital waste in developing nations,[31] and competition in the home video market.[30]


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."[32] 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.[32] 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.[5] 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."[33]

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 at the time) and the vast number of possibilities allowed by its open-ended form.[30]


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


  1. ^ 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.  closed access publication – behind paywall
  2. ^ 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. 
  3. ^ 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. 
  4. ^ a b Bossel 1994, p. 213.
  5. ^ a b c 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 publication – behind paywall
  6. ^ Richmond et al. 1987, p. iv.
  7. ^ 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. 
  8. ^ Richmond et al. 1987, pp. 85–97.
  9. ^ 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 publication – behind paywall
  10. ^ Hannon & Ruth 1997, p. 13.
  11. ^ Bossel 1994, p. 216.
  12. ^ 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 publication – behind paywall
  13. ^ Hannon & Ruth 1997, p. 14.
  14. ^ Bossel 1994, p. 219.
  15. ^ "FAQs". isee systems. 2015. Archived from the original on October 28, 2015. Retrieved March 4, 2016. 
  16. ^ 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 publication – behind paywall
  17. ^ 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.  open access publication – free to read
  18. ^ Richmond 2013, pp. 9–11.
  19. ^ Richmond et al. 1987, pp. 245–246.
  20. ^ Hannon & Ruth 1997, p. vi.
  21. ^ Bossel 1994, p. xv.
  22. ^ Hannon & Ruth 1997, p. 357.
  23. ^ 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. 
  24. ^ Hopkins, P. L. (Winter 1992). "Simulating Hamlet in the classroom". System Dynamics Review. 8 (1): 91–98. doi:10.1002/sdr.4260080109.  closed access publication – behind paywall
  25. ^ 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 publication – behind paywall
  26. ^ 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 publication – behind paywall
  27. ^ 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.  closed access publication – behind paywall
  28. ^ 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 publication – behind paywall
  29. ^ Hannon & Ruth 1997, p. 6.
  30. ^ a b c 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 publication – behind paywall
  31. ^ Eleyan, D.; Al-Khatib, I. A.; Garfield, J. (October 2013). "System dynamics model for hospital waste characterization and generation in developing countries". Waste Management & Research. 31 (10): 986–995. doi:10.1177/0734242X13490981.  closed access publication – behind paywall
  32. ^ a b Costanza, R. (February 1987). "Simulation Modeling on the Macintosh Using STELLA". BioScience. 37 (2): 129–132. doi:10.2307/1310367.  closed access publication – behind paywall
  33. ^ 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.  open access publication – free to read


  • Bossel, H. (1994). Modeling and Simulation. Wellesley, MA: A K Peters, Ltd. ISBN 1-56881-033-4. 
  • Hannon, B.; Ruth, M. (1997). Modeling Dynamic Systems. New York City: Springer-Verlag. ISBN 0-387-94850-3. 
  • Richmond, B.; Peterson, S.; Vescuso, P. (1987). An Academic User's Guide to STELLA. Lyme, NH: High Performance Systems. 
  • Richmond, B. (2013). An Introduction to Systems Thinking, STELLA. Lebanon, NH: isee systems. ISBN 0-9704921-1-1. 

External links[edit]