Skip to content

Category: GSN/D-Case

【対談】GSN, D-Caseの動向と必要性 – 名古屋大学 山本先生 x 平鍋対談

 最近のGSN(Goal Structuring Notation)の動向 では、先生、最近のGSNの動向について、少しお話をいただけませんか?     最近、我々がまとめたのが… お、これは!     DEOSの本ですね。所さん(所眞理雄氏)が中心になって、7年間のプロジェクトの成果がまとまったんですね。それが、このDEOSという本です。この中に「ディペンダビリティ工学」というのがあるんですけど…   これは、新しい名前ですか?「ディペンダビリティ工学」?     そうですね。「Dependability Engineering for Open Systems」という事で、変化し続けるシステムのためのディペンダビリティ工学。その変化し続けるシステムのディペンダビリティ、信頼性を保証するために、ここに図があるんですけど(右下画像)、D-Caseが使われています。D-Caseは、GSNを拡張した表記法ですね。   これは日本で書かれた本ですか?     はい、日本で書かれた本です。この取り組みを、オープングループというエンタープライズアーキテクチャの標準化をやっている組織があるんですけど、そこに我々が一緒になって提案しています。それは、エンタープライズアーキテクチャを高信頼化するための手法で、GSNが、本格的に採用されています。そういう動きがあります。    ISO26262の機能安全の中で、GSNは標準的な表記法として採用されている 先生は、GSNに着目された、”D-case“として、DEOSの中に持ち込もうとされた着目の動機みたいなものはありますか?   それは、「受け身」で始まったんですけど。笑。 […]

GSNとD-Case、パターンとモジュール化、日本流の差分・派生開発への適応

「モデリングしてますか?」 今日は、電通大(電気通信大学)に来ています。ここに、松野先生がいらっしゃいます。   みなさん、こんにちは。電気通信大学の松野と申します。 今日は、わざわざ平鍋さんに調布まで起こしいただきまして、今撮影しています。    GSNのおさらい 今日はですね、山本さんが前回話したGSN、アシュアランスケースの話の続きです。 GSNというのは、アシュアランスケースの記法の一つで、システムの安全性とかディペンダリティを、色んな人にきちんと説明するためのドキュメントです。 例えば「システムが安全ですよ」など、色んな人に説明しないといけないんですけど、いろんな説明の仕方があります。GSNは、それを、議論構造を明確にした上で説明できるようにしたものです。 この場合「システムが安全である」というゴールがあるんですが、いろいろ言い方があります。ここでは、システムが持っている機能ごとに分解して説明する、としています。 システムが機能1と2を持っていた場合、システムが安全であるためには、機能1が安全、機能2も安全、という風に分けて考えていきます。 最後にどんどん詳細化していくんですが、最後にテスト結果とか、皆さんが普段やられておられるテスト等の結果を基に、最終的に議論を支えるものを書きます。  パターン機能 さて、こういのをどんどん描いていくわけで、astah* GSNなどを使ってかいていくわけですけども、こういのをバーとかいていくと、どんどん量も多くなっていくし、しかも、これを形自体をどう形作っていけばいいか、ということが問題になってきます。 プログラミング言語、みなさん詳しいと思うんですけど、そうした問題にどう対処していくかというのは、GSNでも一緒です。 1つは「パターンにしてしまう」ということ。要するに、すごく頭いい人が作ったGSNのパターンをそのまま使って、皆さんのGSNもかいてしまえばいい、という話があります。 例えば、簡単な図なんですけど、このシステムを変数として扱うことができます。 例えば、ここに、皆さんの作っている自動車、飛行機、ご自身のシステムの名前をいれるということがあります。また、機能毎といってますが、当然皆さんのシステム毎に、機能の種類や数が全然違いますよね。ここら辺もパターン化して、汎用化するという仕組みも挙げられます。 たとえば、このパターンにありますが、このシステムという所自体を変数化してしまう、という考えがあります。安全と書きます。このシステムというものをプログラミング言語のように変数宣言してしまいます。 システムはストリング型であると、そうすると、ここで定義したシステムというものは、サブゴール、つまり下の構造で、システムというものの変数を自由に使えるようになります。たとえば、システムの機能ごとに議論する、といった事ができるようになります。 ここでもし皆さんが「自分のシステムの名前にしたい」と、車など入れたとしますね。 そうすると、ここでシステムとなっていた所が、自動車、という風に置き換えられます。 こうすると、皆さんがいちいち自動車、自動車、自動車、、と書かなくても、一気に全部変わるわけですね。これが、パターンを実現するための機能になります。 もう一つ、例えば、自動車だったとしたら、機能1、2、3があって、「自動車の機能毎に安全である」というゴールを作らなければいけないんのですが、ここで、機能が100個あったとします。ここで100と指定すると、パターンとすると、ここに100個のサブゴールが作られる、こういうことを実現すると、非常に汎用性の高いパターンを作ることができます。 これがパターン機能です。  GSNの巨大化を防ぐ為のモジュール化 もう1つ、GSNに対しての拡張として「モジュール化」という考えがあります。 モジュールは、みなさん普段プログラム作る時にやられてると思いますが、例えば「機能1は安全である」ということを展開するとします。すると、これだけでもサブがどんどんと果てしなく大きくなっていって、巨大なGSNになってしまいます。 […]

GSN解説(2) – GSNの基礎とその構成要素

こんにちは。名古屋大学の山本修一郎です。 GSNは「あるシステムやプロセスが、基準を満たす」ということを説明するための手段です。 ですので、まず「主張」というものがあります。 この主張は、システムや基準、原則がありまして「こういうシステムや基準を対象にして、システムが、ある基準や原則を満たす」ということを説明するための手段です。 これを説明するためには、例えば「システムの構成で説明する」という事になります。 そうすると、システムの構成というのは、例えばこのシステムには構成要素があるので、 「構成要素がこの基準や原則を満たすこと」と 「構成要素の関係が原則を満たす」 この2つを説明する必要が有ります。 それぞれについて、確かに関係が原則を満たす客観的な「証拠」があります。要素についての証拠もあります。 そうすると、今度はこの要素に基づいて、確かにシステムが、こういった原則を満たしているということを、第三者に対して論理的、合理的に説明することができます。 これが、GSNの最も基本的な考え方なんです。 [関連記事] – GSN解説(1) – GSN (Goal Structuring Notation)とは何か? – 【対談】GSN, D-Caseの動向と必要性 – 名古屋大学 山本先生 x 平鍋対談

GSN解説(1) – GSN (Goal Structuring Notation)とは何か?

みなさん、こんにちは。これからお話するのは、説明責任とGSN(Goal Structuring Notation)の関係についてでございます。  「システムや活動プロセスといったものが、ある一定の基準や原則に基づいてることを第三者に説明する」、これが説明責任の遂行 説明責任て、皆さん、何だかご存知ですか? 「システムや活動プロセスといったものが、ある一定の基準や原則に基づいていることを第三者に説明する」というのが、説明責任の遂行という考え方ですね。 ということは、我々が開発しているシステムがあるとします。 すると「このシステムが、ある原則に従って開発されている」という事を説明する手段が必要になります。 その説明手段がGSNである、と言うことができると思います。 ということは、GSNで説明することは「システムが原則に従っていること」、これを説明する必要があります。  GSNの4つの基本的な構成要素 そのために、GSNでは、4つの要素を用意しています。 1つは「主張」ですね。「システムが原則に従って振舞う」といったことです。 それから、その主張を直接説明することは、なかなか難しいので、更に細かな主張に分解する必要がでてきます。その時に使われるのが「戦略ノード」と呼ばれるような、分解するノードです。 それから、更に、「システムが原則に従う」ということを説明するために、どのような前提条件に基づいてこの議論が展開されているのかを示すための「前提ノード」というものがあります。 それから最後に「確かにシステムがこの原則に従って振舞う」ということを説明するための、もっとも単純な主張を説明する「証拠」がでてきます。 そういう意味で、GSNには、この4つの基本的な構成要素を使って、こういう主張を説明することができます。 これが、GSNを使って説明責任を遂行する方法です。 [関連記事] – GSN解説(2) – GSNの基礎とその構成要素 – 【対談】GSN, D-Caseの動向と必要性 – 名古屋大学 山本先生 x […]