Author Archive

What are “Mental Models”? Part 2

November 3rd, 2010 7 comments

Editor’s note:  This post is part two of a two part series on mental models.  You can read the first post by clicking here.

In part one of this series I stated “A mental model is a model that is constructed and simulated within a conscious mind.”  A key part of this definition is that mental models are not static; they can be played forward or backward in your mind like a video player playing a movie.  But even better than a video player, a mental model can be simulated to various outcomes, many times over, by changing the assumptions.

Mental Simulation

Child reaching toward hot stoveRemember the example from part one of the child reaching for the hot stove?  One possible outcome we can simulate is that the child does not get burned.  We can simulate this outcome by altering our assumptions. We could include a parent in the room who rescues the child in the nick of time.  Or, we could simulate the child slipping just before reaching the stovetop because the hardwood floor appears slippery.  This kind of mental simulation allows us to evaluate what may happen, given different conditions, and inform our decision making.  We don’t have to make any decisions while looking at the picture, but imagine what actions you might take if the scene above was actually unfolding in front of you.

It seems effortless to mentally simulate these types of mental models.  Most of the time we are not even aware that we are doing it.  But other times, it becomes very obvious that our brain is working rather hard.  For example, looking at the chess board below, can you determine if the configuration is a checkmate?

Chess board

It is indeed.  But I’ll bet it took noticeably more effort for you to mentally simulate the chess game than it did with the child near the stove scenarios.  Think about the mental effort that the players make trying to simulate the positions on the board just a few moves ahead in the game.

The paper “The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information” by G.A. Miller (1956) established that people can generally hold seven objects (numbers, letters, words, etc.) simultaneously within their working memory.  Think of “working memory” as you would think of memory in a computer.  It’s like the amount of RAM we have available to perform computations within our mind.  And it’s not very much.  This means if people want to do any really complex information processing, they’ll need some help.  Over the last 50 years or so, the help has come from computers.  (In fact, IBM designed a computer specifically for playing chess, dubbed ‘Deep Blue’).

Digital computers have catapulted humankind’s ability to design, test, and build new technology to unbelievable levels in a relatively short period of time.  Space exploration, global telecommunication, and modern health care technology would not have been possible without the aid of computers.  We are able to perform the computation required to simulate complex systems using a computer instead of our minds.  Running simulations with a computer is faster and more reliable.

What makes a model useful?

Models that we can simulate using computers come in many forms.  For example, a model could be a financial model in a spreadsheet, an engineering design rendered with a CAD program, or a population dynamics model created with STELLA.  But what makes any of these models useful?  Is it the model’s results?  Its predictions?  I think the ability to explain the results is what makes a model truly useful.

Models are tools that can contribute to our understanding and decision making processes.  To make decisions, a person needs to have some understanding of the system the model represents.  A business finance model, for example, can be a useful tool if you understand how the business works.

Consider a model that does not provide any explanatory content, only results.  This type of model is often referred to as a black box.  It gives you all the answers, but you have no idea how it works.  People rarely trust these types of models and they are often not very useful for generating understanding.

Mental model of the learning processThe most useful models are structured so that the model itself will provide an explanatory framework that enables someone to ask useful questions of it.  Those questions may be answered by experimenting with the model (simulating) which, in turn, can help deepen a person’s understanding of the system.

This is an important feedback loop in a person’s learning process.  This feedback loop can be accelerated if the model provides explanations and can be simulated with a computer.

Transforming your mental models into visual models that are easier to understand and experiment with, will deepen your understanding, and help you communicate your models more effectively.

Read more…

What’s New in isee NetSim 1.1?

May 17th, 2010 No comments

netsim_app_iconLast week, we released version 1.1 of the isee NetSim software.  isee NetSim enables iThink and STELLA users to publish their models online so anyone can run them in a web browser.  Version 1.1 introduces several new features.  In this post I will share a couple of those that I am most excited about.

Forio Simulate—Like YouTube for Simulations

Since the debut of the isee NetSim software we have collaborated with Forio Business Simulations to provide free hosting for models published online.  Last year, I saw a demo of Forio’s new simulation service, Forio Simulate, in the early development stage.  It was awesome.  I couldn’t believe it—they added all of the Web 2.0 features I’d been dying for, and a slick, fun to use interface.  I knew we had to make isee NetSim work with it.

The new service is social by nature—it features keyword tagging, ratings, comments and built-in model sharing.  It’s like YouTube for simulations.  You can browse simulations and games that others have created, find similar ones by keyword tags, and embed simulations on blogs or web pages.  So you don’t have to be actively publishing your own simulations, or even be a modeler to get a lot of value from the site.  In fact, it’s a great way to introduce people to modeling and simulation.  Just post a link!

And if you are a modeler, you can get even more out of the service.  Most of the simulations published to Forio Simulate allow you to download or copy the underlying model that powers it.  Here at isee, we’ve uploaded the original iThink and STELLA models used to create all of our sample isee NetSim simulations.  That way anyone can run the simulation online in a browser and download the source model to dig into if they want more.  Take a look at isee systems’ models published on Simulate by clicking on the screen shot below.

The simulation overview page allows anyone to download the source model, rate, comment, add tags and embed the simulation on other web pages.

Anyone can use free hosting on Forio Simulate if the model contains 400 or fewer equations and is shared with other users of the service.  If you want to protect the model, resell a simulation, use a custom URL, etc., you can sign up for a premium hosting plan.  It’s easy to select a hosting plan when you upload your model with isee NetSim.

Graphical Input Device

Graphical Input Device, or, GID

Use the GID to change the price assumption

One of the most requested features for isee NetSim has been the graphical input device, or “GID” as we like to call it.  GIDs offer a simple way to allow people running your simulation to change the model assumptions.  Often it’s easier to sketch a curve of the behavior of a variable than to input numbers directly.

For example, the model below is a generic renewable-resource model that enables you to experiment with yield and price of a renewable-resource via GIDs.  The model is from our “Thinking in Systems” online course.  I published the model to Forio Simulate and then embedded it here.  Click the “Review model” link to take a brief tour of the model.

You can change the price elasticity and “yield per unit capital” curve by first clicking on one of the GIDs.  A window will pop open that displays the details of the curve.  Click and drag within the grid to draw a new curve.  Press “Ok” to apply the changes.  Take a few moments to play around with the model below.

[Editor’s note:  If you cannot see the embedded model below because you are reading this post in a feed reader or email, please visit the post page here]

What I find interesting after playing with this model is what happens when you start to push the yield up.  At some point the efficiency improves to the point where the renewable-resource gets completely wiped out.  Sometimes the inefficiencies of harvesting a resource can be a good thing—it gives the resource time to “catch up”.  This may be a useful point to consider when thinking about sustainable systems.  What happens when you make the resource inexpensive?

A GID for the web

You may have noticed that the GID within isee NetSim does not allow a user to type numbers to define data points or change the x and y ranges.  We decided this simpler version of the GID was a good fit for models published to the web and would cover most use cases.  The GID allows users to easily change the assumptions by sketching a behavior pattern and not really concern themselves with the data.

If you’ve been dying to publish models with GIDs online, now is your chance.  While you’re at it, check out Forio Simulate and start contributing to the growing simulation community.  You can download a trial of isee NetSim 1.1 here.  If you already own isee NetSim, visit your “My Software” page on the isee systems website to download the upgrade.

What are “Mental Models”?

March 12th, 2010 14 comments

Editor’s note: This is part one of a two part series on Systems Thinking and mental models

In writing and teaching people about Systems Thinking, we often refer to “mental models”.  For some people, this comes as a bit of a surprise, because the context usually involves building models with the iThink or STELLA software.  They don’t expect us to start talking metaphysically about thinking.  “Is this about philosophy or modeling software?” they may wonder.  The software is actually a tool to help construct, simulate and communicate mental models.

Let’s define the term model: A model is an abstraction or simplification of a system.  Models can assume many different forms – from a model volcano in a high school science fair to a sophisticated astrophysical model simulated using a supercomputer.  Models are simplified representations of a part of reality that we want to learn more about.  George Box stated: “Essentially, all models are wrong, but some are useful”.  They are wrong because they are simplifications and they can be useful because we can learn from them.

So, what is a “mental model”?  A mental model is a model that is constructed and simulated within a conscious mind.  To be “conscious” is to be aware of the world around you and yourself in relation to the world.  Let’s take a moment to think about how this process works operationally.

Thinking about trees

Imagine that you are standing outside, looking at a tree.  What happens?  The lenses in your eyes focus light photons onto the retinas.  The photosensitive cells in your retinas respond by sending neural impulses to your brain.  Your brain processes these signals and forms an image of the tree inside your mind.

So at this point, we’ve only addressed the mechanisms by which you perceive the tree.  We have not addressed understanding what a tree is or considered changes over time.   We are dealing with visual information only.  There is nothing within this information that tells you what a tree actually is.

What makes the image of a tree in your minds click as an actual tree that exists right there in front of you?  This is where mental models kick in and you start to think about the tree.  The tree is actually a concept of something that exists in physical reality.  The “tree concept” is a model.  Understanding the concept of a tree requires more information than is available through sensory experience alone.  It’s built on past experiences and knowledge.

A tree is a plant.  It is a living thing that grows and changes appearance over time, often with the seasons.  Trees have root systems.  Trees use leaves for photosynthesis.  Wood comes from trees.  I can state these facts confidently because I have memories and knowledge of trees contained within my mental models.  Mental models contain knowledge and help us create new knowledge.


Read more…

Modeling H1N1 Flu Outbreak

November 13th, 2009 3 comments

H1N1 Virus It seems like everyone has been talking about H1N1 (swine flu) the last couple of months.  If you have children in school, then you are probably very aware of how fast the virus is spreading.  Schools are the perfect environment for a virus to spread.  To help understand why, we created a STELLA model of a high school that introduces the H1N1 virus.  You can experiment with vaccination and “stay at home” policies to limit the spread of the flu.

The STELLA model is based on the SEIR compartmental model that epidemiologists use to model the progress of an epidemic.  SEIR models divide the population into compartments: Susceptible, Exposed, Infected and Recovered.  These ‘compartments’ translate nicely into stocks within the STELLA model where we can observe the dynamics of the spreading virus.

While developing the model we decided to explore some strategies that schools are pursuing to limit the virus’ spread.  We wanted to know if the “stay at home” (when you are sick) policy would be effective in the case where vaccines are not available quickly enough, (which as of November 2009 is the case).

Take a look:

Click the ‘Simulate’ link on the home screen above and try some different scenarios.  Be sure to click the ‘How does this simulation work?’ link for a guided tour of the model behind the simulation.

As you experiment with the simulation, consider the following:

  • How does varying “% vaccinated” effect the number of sick students?
  • How many days do infected students need to stay home to have a significant impact on the spread of the virus within the school?
  • What impact does the “% effectiveness of vaccine” have on the flu outbreak?
  • What combination of decisions results in the lowest number of sick students?  Are these decisions realistic in a real-world setting?

Note: Each time you dial in parameters and press run, a new plot will be added to the graph so you can compare the effectiveness of the different decisions.  Clicking on the blue reset button will clear the graph and reset all Knobs to their default value.

If you think this simple model is useful, feel free to share it or embed it on your own website; just click the sharing icon in the lower right corner.  If you want to dig deeper into the STELLA model you can download the model by clicking here.  You can open the model with STELLA 9.1, or the free isee Player.

C02 in the Atmosphere Behaves Like a Bathtub

October 16th, 2009 No comments

Last Friday we hosted the first of a four-part web seminar series titled Modeling for Environmental Sustainability.  This first session was about how you can use simple bathtub dynamics to understand climate change.

co2_bathtub In the session, Chris Soderquist demonstrates how you can use embeddable simulations to help raise awareness and understanding about climate change.  Using simple bathtub dynamics, the “C02 Dynamic Indicator” simulation lets anyone experiment with the current set of policy proposals for capping and reducing emissions.

The live session was recorded and is now posted on our website, along with two embedded simulations that you can run online.  All of the session materials are open source and we encourage you to link, embed and share them with others.

Download the isee NetSim Template Model

August 21st, 2009 3 comments

A few months ago, we designed an interface template for our isee NetSim sample models.  The template is an iThink/STELLA model in which the interface layer is designed to look like a website:

  • Navigation buttons are styled to look like hyperlinks instead of push buttons.
  • Push buttons are used to perform actions, such as running the simulation.
  • Tabs along the top of each page let the viewer know which section they are in, as well as providing a way to quickly jump to any section.

An example of the interface template applied to a model published online

You can download the template model and use it as a starting point for creating interfaces to models you want to publish online.

Download the template for STELLA

Download the template for iThink

How to use the template

The template model consists of four interface pages: Home, Background, Explore Model and Simulate.  Navigation buttons to and from each page are already setup within the interface.  You can customize each section by replacing the placeholder text.  The pages are a starting point that establishes a website-like look and feel.

The easiest way to apply the template model’s interface to your own model is to simply copy and paste the pages.

  1. Open your own model and switch to the Interface layer.  Choose ‘Interface Prefs’ from the Interface menu and make sure the ‘Show Pages’ option is selected.  Set Page Size to 800×600.  This will allow you to see the page boundaries as you apply the template.
  2. Open the template model and from the Interface layer choose the Edit menu –> Select All, then Edit menu –> Copy to copy all of the pages to the clipboard.
  3. Go back to the interface layer of your model and choose Edit menu –> Paste.

When you have pasted the pages into your model, they will probably not be lined up correctly within the page boundaries.  The dashed lines show the boundaries of each page.  Using these dashed lines as a guide, use the arrow keys on your keyboard to make the pasted pages line up properly.

Now you can customize the title and text in each page.  Add a picture to the home page and build a control panel.  If you want, you can use the hyperlink button on the ‘Background’ page to link to online information, (PDFs, other models, Wikipedia, etc.).  Consider building a storytelling sequence on the ‘Explore Model’ page to unfurl the model a chunk at a time.  These are just a few customizations you can make.  Take a look at some of our sample models published online with isee NetSim for ideas.

If you publish some models online that use the template, we’d love to see them!  Leave a link in the comments so we can check them out!

Categories: Modeling Tips Tags: , ,

Rethinking ‘Cash for Clunkers’

August 11th, 2009 2 comments

C.A.R.SThere is no doubt that the Car Allowance Rebate System, or “Cash for Clunkers” program has proved to be popular with American car buyers.  So popular in fact, that it ran out of cash within the first six days of processing claims.  This news got me thinking about the program in a more systemic way.

Whether you think of the program as a stimulus for the economy or the environment, it cannot continue to operate without funds.  Congress had to quickly approve another $2 billion for the program when the initial $1 billion appropriation was exhausted in less than a week.  The rebate fund lacks an inflow of cash to offset the outflow of payments.

I wrote about a STELLA model of a self-financing program to promote cleaner vehicle sales in May.  The “Feebates” model uses fees charged on sales of vehicles that have high pollution rates to finance rebates for cleaner vehicles.  I asked the Feebates model author, Andrew Ford what he thought about “Cash for Clunkers”.  He sent me an article he co-authored with Todd BenDor titled “Simulating a combination of feebates and scrappage incentives to reduce automobile emissions”.  Basically, the article describes a feebates model with a “cash for clunkers” type of rebate added to promote scrapping older vehicles.  The article was published in the journal Energy, 31(2006), 1197-1214.

3808715790_393164d861Mr. BenDor was kind enough to send me the STELLA model so we could publish it to the web with isee Netsim.  We thought this would be a great way to start some discussion around the Clunkers program, public policy and using simulations to facilitate decision making.

Click here to run the simulation online.

  • Can you design a policy that stimulates the economy and reduces emissions?
  • This simulation uses fees to fund the program instead of deficit spending.  What other sources of revenue could we consider?
  • Many states levy a “sin tax” on tobacco and alcohol.  How would the public react to fees on high-pollution vehicles?

Post your answers in the comment section below.

Image credit:

Module FAQs

June 29th, 2009 No comments

The version 9.1 release of iThink & STELLA introduced a new approach to modeling complex systems: hierarchical modules.  Modeling with modules can really simplify the way you think about, construct and communicate systems.

Since a lot of customers are now getting their feet wet with modules, we’ve been receiving a steady stream of questions.  We asked our Director of Product Development Karim Chichakly to compile a list of frequently asked questions that he thought would be useful for anyone using modules.  The questions and answers are listed below. If you have any additional questions, post them in the comments and we’ll respond.

What is a module?

CropperCapture[12] A module is a container for lower-level model structure.  It is designed to support a process of top-down model design and development.

What is a module input?

CropperCapture[18]A module input is a variable that can become the ghost of another variable at a different level of the module hierarchy.   It becomes the ghost when you assign it to that other variable.  After it is assigned, it is referred to both as a cross-level ghost and an assigned module input.  All of this is managed transparently if you use the ghost tool.

What is a module output?

CropperCapture[19] When a variable is designated as a module output, you are telling the software that this variable can be ghosted on a different level of the module hierarchy.  While any variable can be a module output, it is important to carefully manage which variables you intend to be shared across modules.

How are modules different from Decision Process Diamonds (DPDs)?

DPDs were designed to collapse one level of structure and hide non-essential details while modules were designed for top-down development of complex models.  Their goals are very different and so is their behavior.  While it is true that modules can be used to replace DPDs, the reverse is not true.

Read more…