What is GSN and What it’s for?

An example GSN (Mathematical Induction)

GSN stands for “Goal Structuring Notation” and it visualizes an argument structure that supports a claim to be true. In the industry in which safety assurance is critical, standards such as ISO61508(general), ISO26262(automotive), DO-178B(airplane), etc require documentation of “Safety Cases”, and GSN is the standard format to document the cases graphically.

But, GSN itself is a simple notation of argumentation structures and has more broader applications. Here I show you some general concepts in GSN using an example.

An example of GSN (mathematics)

The following is an example of GSN that illustrates a mathematical proof of a statement using “mathematical induction”. And the statement is:

“The sum of the natural numbers 1..n equals to n(n+1)/2”.

An example GSN (Mathematical Induction)

An example GSN (Mathematical Induction)

  • In this case, the “Goal” is the statement to prove. In patents or law cases, “Claim” is more a proper word.
  • There are many ways to prove this statement. And here, “induction” is chosen. This node is called “Strategy”.
  • Once this strategy is chosen, the goal can be divided into several “Subgoals”. In this case, the proof of the first statement is divided into
    1. Base: prove that it holds when n=1
    2. Induction Step: Assuming that it holds when n=k and prove that it holds when n=k+1.
  • And the terminals (leafs) are called “Solutions” or “Evidences” which provide the reasoning of the (divided end) goals.


The most demanding needs we can now see is in the automotive, avionics, railway, robotics and medical industries which require “safety” cases in certifications or regulations.

The example below is a safety case argument from “The Community Standards(see below)”.

Safety Case Example

Safety Case Example (click to magnify)

Other “Cases” like “Dependability Cases(D-Cases)”, “Security Cases” and more generally, “Assurance Cases”(an umbrella word for cases that assures some property of the system) can be visualized in the form of GSN, too.

In broader contexts, GSN can be used to visualize arguments including;

  • Proof in mathematics(the above example)
  • Debate strategy
  • Logical argument structure of academic papers and their references
  • Law case in court(supports/objects the claim)
  • Claims in patents

Where to see further discussions

The most stable and referenced documentation of GSN is called “GSN Community Standard

At OMG(Object Management Group), GSN is (semantically) being standardized as “Assurance Case”.

SACM is composed of ARM and the other specification called SEAM(Software Assurance Evidence Metamodel).

By the way… about England

The theoretical foundation of GSN is the argumentation theory by Stephen E. Toulmin(1958, “The uses of argument”) called the “Toulmin Model”.

Toulmin is born in England and influenced by Ludwig Wittgenstein. And Prof. Tim Kelly who contributed the first and most of the application of the Toulmin Model to the computer science and industry area is also based in England.

I visited Tim Kelly in the Department of Computer Science at the University of York last year to learn what is happening in this domain, and I found that he was a very young and nice professor, thinking deeply about application of the theory to the real world.


Astah GSNWe’ve developed a GSN editor called “Astah GSN”. Like I mentioned above, GSN is a very simple notation to present the argument structures. Try making one using our free trial.
Download Astah GSN Free Trial: http://astah.net/editions/gsn/download


About these ads

One thought on “What is GSN and What it’s for?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s