(2) How to extract implicit knowledge that can be accepted by others using UML and GSN

This is a guest post by Mr. Nobu Kobayashi from Denso Create, Inc from Japan.

In this post, he tries to demonstrate an effective usage of GSN and UML in systems engineering activities(modeling, documentation, design, and especially their reviews) using a parallel analogy of an easy example .i.e. Origami.

Last week we introduced Nobu’s idea of how to extract implicit knowledge in Origami via GSN. There are many Origami how-to books, but even though everybody follows the exact same instruction, the results will come differently. Some turn out sharp (like right one in the image below) and some turn messy (like the left one)… So what makes the difference? It clearly shows that the complete instruction is just not enough and there are some secret know-hows to make the difference. Then how could we extract those know-hows? (Click the image below to read the last post.)

WhatMakesDifference

How can we teach someone to create beautiful Origami Kabuto (Japanese warrior helmet)?

Kabuto (Japanese Warrior Helmet)

Kabuto (Japanese Warrior Helmet)

So below is the diagram he drew that shows the process of how to fold beautiful Kabuto which is a Japanese warrior helmet (see the right image) with Origami papers and secret know-hows (implicit knowledge) extracted by using “Context” node in GSN (Goal Structuring Notation).

GSNofKabuto

Figure1. Steps to fold a Kabuto (Japanese Warrior Helmet) with Origami papers. Read more at http://changevision.wordpress.com/2014/08/24/how-to-make-it-better-extract-implicit-knowledge-via-gsn/

Now we have a question.

“Is this map sufficient for everybody else to fold beautiful Origami with?”

When this diagram was created, these secret know-hows (noted in pink) were picked up from ‘what we tried to be careful at some steps’ with an aim for creating a beautiful Origami Kabuto. But what is ‘a beautiful Origami Kabuto?’ – each person may have different answers to this question. Without sharing the definition or one’s idea of ‘what Beautiful Origrami Kabuto is’, this diagram could be just another instruction of folding Kabuto with someone’s tips and might not be acceptable for the others who have different sense for ‘Beautiful Origami Kabuto’. Then in order to make this map acceptable and work for anybody to fold a beautiful Origami with, what could we do?

Trying a different way to extract the implicit knowledge

The answer is to visualize the way how those implicit knowledge were extracted and make it explicit. Once people understand the fundamental assumptions that those implicit knowledge is on, they will understand and accept them more easily.
The first step I did was to model the structure of Origami Kabuto (Figure.2) using UML.

Astah_GSN_Origami_model

Figure.2. – Structure of Origami

Origami Kabuto inherits three characteristics, vertex, side and face, and it consists of 4 parts called ‘Hachi’ (the main part of its hat), ‘Kuwagata’ (a hoe-shaped helmet crest), ‘Kuwagata-dai’ (A crest stand), and ‘Mabisasi’ (a visor). In the Figure.2, dotted arrow represents the relation of two parts that how one is folded will affect the size of the other part. (e.g. If Mabisasi becomes bigger, the size of Kuwagata-dai will get smaller and may look unbalanced together). I believe the model in Figure.2 is easy to understand because it shows the nature of the structure of Origami.

Then I did extract implicit knowledge. This time I defined the “Beautiful Kabuto” as one consists of 4 parts which are all in suitable size to make a good balance as a whole and is symmetric. So I chose ‘Suitable size’ and ‘Symmetry’ as essential conditions to derive ‘Criteria of Beautiful Kabuto’ and extracted the implicit knowledge by checking these conditions against the structure of Origami Kabuto (Figure.2).

Figure.2 - Tips for how to make a beautiful Origami Kabuto

Figure.3 – Tips for how to make a beautiful Origami Kabuto

Let me explain this new diagram – Figure.3

  1. The top goal is “Criteria of beauty for Kabuto is accepted’, claimed using yellow  Goal node (G1) on the top.
  2. ‘Suitable size’ and ‘Symmetry’ are adopted as key points shown in pink  Context (C1) to derive the criteria of ‘Beautiful Kabuto’. This is placed on the top as this is the core guideline to achieve the top goal and applies to the whole nodes in this diagram.
  3. Top Goal is divided into two groups “Individual part of Kabuto” and “Relation of parts which affect to each other’s size” based on its concept (C2) and those are broken down further to Sub Goals (G4-9) according to blue  Strategy nodes.
  4. All the implicit knowledge is written in Pink notes at the bottom which were extracted by checking the two key rules stated in C1 for each Solution node (Sn1-6).

Share the context using GSN before start disussing

I believe this new diagram helps more people to fold it better than with the other diagram I drew in the last post because it now shares ‘what a Beautiful Origami is’ with all the extracted implicit knowledge. Once you know the foundation where all the tips come from, those will be more convincing, understandable and easy to accept.

Let’s see this in the software development scene. If everyone involved in a same project could share and understand the same context, we could avoid easy mistakes that are caused by the recognition gap. (I have happened to design software using wrong kind of documents..etc.)

“Visualize your idea and build a common understanding with the others.”

This is easy to say but difficult to achieve – but I believe GSN can be its effective solution.

Astah GSN LogoAt last, I’d like to say thank you for Change Vision-san for developing Astah GSN which provides the features very attentive that help us draw GSN. For example, ‘comment feature’ is a good solution when I want to write detailed information into a Solution node to explain leaf goal’s validity. I hope Astah to continue growing and keep its attentiveness for all the users.

Thank you.

Nobu Kobayashi

Posted in Event, GSN, Interview, Kenji, News, Support, TIPS, UML | Tagged , , , , , , | Leave a comment

Generate source code from UML state machine and activity diagrams

“SinelaboreRT” is a source code generator designed for embedded software developers that generates readable and maintainable code from UML statemachine diagrams and Activity diagrams. It can of course generate code from Astah.

Astah_UML_sourcecode

 

 

 

 

Peter Mueller, the author of this tool and I have been in contact for a long time and he quickly catches any changes on Astah on each release and updates his tool accordingly and immediately. Very trusted, keen and promising person and so is the tool I see.

Download and learn more about SinelaboreRT from here.

If you are already using this tool with Astah, here’re the latest updates on version 3.6.
Region Support in Statemachine diagrams
Generate code from UML Activity diagram support

Cheers,
SJ

Posted in News, Support, TIPS, UML | Tagged , , , , , , , | Leave a comment

Embed Astah diagram images to Sphinx!

Wonderful news for Astah users who create documents using Sphinx.

Mr. Takeshi Komiya has created a way to embed Astah UML diagram images into Sphinx. Click here or image below to read how to use this fabulous feature!
https://pypi.python.org/pypi/sphinxcontrib-astah

Astah_Sphinx

He’s made this possible by using “astah-command.sh” which is used to export diagram images from Astah by command line.
[TIPS] Exporting diagram to images using the command line

Give it a try and let us know or the developer (@tk0miya) feedback!
Hats off to him from us. :)

Cheers,
SJ

Posted in ER Diagram, Kenji, News, Plug-in, TIPS, UML | Leave a comment

[TIPS] How to move objects 1 pixel at a time

Astah has several alignment features to align UML model elements nicely with easy step.

Example) Feature to align model elements vertically

Example) Feature to align model elements vertically

But still sometimes you may want to move model elements individually just to place them in a right place. In that case, hold [Command] key down when you move them, so that they will move 1 pixel at a time.

 
Also you can show Grid on the diagram from [Tool] – [System Properties] setting. See detail (TIPS: Show Grid in diagram)
Astah_Grid

 

Cheers,
SJ

Posted in ER Diagram, GSN, News, Support, SysML, TIPS, UML | Tagged , , , , , , | Leave a comment

How to make it better ? – Extracting implicit knowledge in Origami (paper folding) via GSN

Kabuto (Samurai Warrior Helmet)

Kabuto (Samurai Warrior Helmet)

Do you know Origami?

The wikipedia entry “origami” says:

Origami (折り紙, from ori meaning “folding”, and kami meaning “paper” (kami changes to gami due to rendaku) is the traditional Japanese art of paper folding, which started in the 17th century AD at the latest and was popularized outside of Japan in the mid-1900s. It has since evolved into a modern art form. The goal of this art is to transform a flat sheet of paper into a finished sculpture through folding and sculpting techniques, and as such the use of cuts or glue are not considered to be origami….

We Japanese people (almost) all know how to fold a Crane, Kabuto, and other famous Origami themes, but it is hard to “teach” foreign people how to do it, or more correctly, “how to make it beautiful”.

Each written step of the process is not very difficult. But there should be some secret know-how (or “implicit” knowledge) which is hidden behind the process but makes the result a lot better than ones that are created just by following the steps. Just like cooking. Recipes are composed of ingredients and steps, but a good cook knows more than that.

What makes difference

Nobu Kobayashi(friend of mine) tries using GSN to show the process of folding origami step by step, and at the same time, making the hidden part of the process explicit. Here’s an example GSN from the process of folding a Kabuto (Samurai warrior helmet).

Steps to fold a Kabuto (Japanese Warrior Helmet) Origami

Steps to fold a Kabuto (Japanese Warrior Helmet) Origami

GSN is an abbreviation of “Goal Structuring Notation”, a method to make an argument structure visible (see “What is GSN?” , another article of mine with an example from mathematics and industrial context). It is usually used in engineering fields to visualize Assurance Cases (including safety, security and dependability cases).

Let me try to explain what Nobu is doing… Illustrating Origami process with secret tips.

  1. The goal is to “fold a cool Kabuto”, claimed using yellow  Goal node(G1).
  2. The goal is divided into “Steps”, using yellow sub-goals(G2-G9) and blue  Strategy nodes(S1).
  3. Steps(sub-goals) are illustrated with pictures, using green  Solution nodes(Sn1-Sn8).
  4. And, tips, ropes, know-how behind the steps are written using pink  Context nodes(C1-C5) attached to some of the key steps.

To create the GSN of Origami, he interviewed several colleagues to elicit know-how by asking:

“Did you have any thoughts in your mind when you follow this step?”

The thoughts are the implicit knowledge behind the stepwise process and he tried to make it explicit.

Nobu is trying to use GSN in his company to make engineering review process (software documentation review) more effective. This Origami example is mapped onto the review process also so as to make the steps explicit and at the same time to extract the “implicit” knowledge from the  process to increase knowledge assets of the organization.

Nobuhide Kobayashi, is a practitioner of software engineering and D-Case(Dependability Cases) based in Nagoya, in Japan. Here’s the photo of this handsome engineer :)

Nobu Kobayashi (quoted from his corporate site) http://www.denso-create.jp/eye/index4.html

Nobu Kobayashi (quoted from his corporate site) http://www.denso-create.jp/eye/index4.html

-Kenji

Posted in GSN, Interview, Kenji | 1 Comment

Bug-fix version for Mac released! (Astah Professional and Astah Community)

macFor Mac users, we just released a bug-fix version for Astah Professional and Astah Community on August 18th(Mon) which has fixed the following two critical issues.
– Printing fails if an Instance Specification name ends with a non-ASCII character
– Astah hangs frequently when PopClip, BetterTouchTool, iSnap or Window Magnet are launched at the same time

If you are using Mac, please update your Astah.
Download (Re-download from here and install)

If you are using Karabiner, there are known issues as below.
– Astah launches in minimum window size when it is supposed to be in maximum size
– Unable to input by keyboard and all the menus go inactivate when creating new projects etc.

These issues will be fixed when you update your Karabiner to the next version which is planned to be released very soon.

If you have any questions, please email us or post your question on our Q&A form.

Cheers,
SJ

Posted in News, Support, UML | Leave a comment

What is GSN and What it’s for?

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.

Applications…

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.

Try GSN

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

-Kenji

Posted in GSN, Kenji | 1 Comment