【対談】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は、私が、このプロジェクトに参加する前から知ってたんですけど、それは、ゴール指向の考え方で、

平鍋
要求工学からきてるんですか?

山本先生
要求工学と関係しつつも、ぴったり一致しているという訳じゃないですが、ある性質を説明するために、ゴール指向で、説明する手法という事ですね。そういう事もあったので、私は要求工学の研究をして知っていたのでDEOSのプロジェクトに関わる事になって、最も早く世界的に普及する手法だということで、研究を始めました。
どこで着目されているかというと、ISO26262の機能安全ですね。その中では、GSNも標準的な表記法として採用されてます。GSNを使って、自動車の機能安全性を保証する、説明を作る、そういう意味で説明責任を遂行する最も有力な手段としてGSNが着目されているということですね。

平鍋
他の産業でも、そういった安全性のためにGSNを使うことはあるんですか?

山本先生
ありますね。航空宇宙分野と、医療機器分野ですね。

平鍋
よくアメリカのFDA(米国食品医薬品局)の話が出てきますが…

山本先生
そうですね。FDAなんかでも「医療機器の安全性を説明するためのセーフティケースを描きなさい」という事が義務づけられているということですね。ただ、その時の問題点は、どのようにセーフティーケースを描けばいいのか、という事なんですね。そういう意味で、私が中心になって研究を始めたのは、システム開発をする時のプロセスのモデル、それからドキュメントのモデリングですね。それに基づいて、確かに安全性の条件とかディペンダビリティの条件を満たしていくという事を確認するための手法の研究を進めています。
GSNは「モデリング」とは違う活動。「なぜこのモデルが適切か」を説明する活動

平鍋
GSNって、要素はすごく単純ですよね。主張があって、分解するための戦略があって、サブゴールがあって、最終的にはエビデンスに落ちていく、ってすごく単純なんですけど、いざ書こうとすると、手が止まっちゃうんですよね。

山本先生
そうですね。それはやはり「モデリングをする」という活動とは違う活動なんですよね。「モデリングの正しさを説明する」手法なんですよね。「なぜ我々はこのモデルが適切だと考えるのか」という事を説明しなければいけない。なので、そこが難しいところでしょうね。

平鍋
実物に紐付かない、というか、構造自体がリアルなものにイメージしにくいところがあるような気がするんですが。

山本先生
それは、なぜかといえば、自分も頭の中の構造を描かなきゃいけないから。
ところが、逆にいうと、作られたものの構造と、頭の中の構造は、実は対応関係がないとおかしいはずなんです。何も無いところから、この構造が出てきていて、この構造が正しい、でも理由はよく分からない、というような作られ方をしたものを、我々が使う事ができますか?という事ですよ。

平鍋
ちゃんと考えているんですか?という事

山本先生
着想した時は、よく分からなかったけれども、作った後で、これは確かにこの形でいいんだ、という事を保証する必要があるんですよね。そういう意味では、説明対象の構造、つまりモデリングそのものと、それを説明するものとの間には一貫した関係が必要で、それが無ければ説明責任を遂行できないですよね。説明できない何かがここに残っているという、そういうモデルをったとしたら、それは信用できないでしょう?
GSNで、どのように「抜け漏れ」をチェックするのか

平鍋
そうですね。
GSNって、”分ける”のはわかるんですけど、分けるときに”抜けがないか”というのは、どうやってチェックできるものなんですか?

山本先生
それは、モデルの妥当性なんですよね。モデルに抜けがなければ、そのモデルの構成要素と構成要素間の関係に、ぴったり一致したGSNであれば抜け漏れがない、ということを保証できます。モデルに無いものがGSNにあったら、それはマズいし、逆も言えますよね。

平鍋
という事は、すごく要素還元主義的なロジックを感じるのですが、その辺りと関係するんですか?

山本先生
実は、その要素還元だけれども、要素の間には関係があるわけですよ。だから、要素還元だけではないんです。相互作用があるんです。

平鍋
先ほど、ここに絵を描かれたときに、「要素」っていう分け方と「要素と要素の関係」と書かれてましたよね?

山本先生
そういう意味では、要素が完全に独立だと分解すれば「要素還元主義」になりますが、実はそんなに単純じゃないじゃないですか。相対問題があるので、分けたとしても、それぞれの要素は他の要素と緊密に依存し合っていて、相互作用する。
その相互作用も、すべて分析しないと、きちんとした説明にならないという意味で、システム全体像を説明する事ができるものですね。
取り巻く環境は常に変化し続けるが、”我々が前提とした範囲”では、
全体としてのシステムは確かに安全だということを、言えないとマズい

平鍋
さっきの、DEOSにもかかるんですけど、システム全体といった時に全体の定義が、揺れるというか…

山本先生
揺れます。

平鍋
変わってくるじゃないですか。

山本先生
あります。それはここ(本のタイトル)に「変化し続ける」と書いてあるのは、まさにそういう意味で、コンテキストバウンダリがありますよね。我々は、人工知能の研究で明らかになったように、世界を完全に記述する事は出来ないわけです。でも、今我々が前提とした範囲では、全体としてのシステムは確かに安全だということを、言えないとマズい訳ですよ。

平鍋
少なくとも、そう目論みますよね。

山本先生
そうです。だから、進化し続ける事ができる。想定外の事が起こりうる、起こったときに、どのように対処するのかというのは、スタティックには対処できないわけですよ。人間が、動的に対処するしかない。

平鍋
しかも、予めできないとわかるものもありますよね。

山本先生
そうですね。だからそういう意味で、そういう構造自体も、GSNで表現する方法を提唱してます。それは何かというと、あらかじめ我々が想定している定義できたリスクのリストがあるとします。このリスクに対しては、我々は、こういう例外対応ができます、という風に作ります。
でも、想定していない、対処していないリスクが出てくる可能性があるので、そのリスクが出てきたときには、我々は、こういう運用プロセスを用意しています。だからこの運用プロセスによって、新たなインシデントに対する適切な対応を取る活動をします。だから、システムは、自動化されたシステムだけじゃないんです。

平鍋
人間も含めた

山本先生
人間系も含めなきゃいけなくて、人間系がいて、人間系と自律的なシステムとの間の相互作用があります。
これによって、この人間系と、自立システムの全体が発展していく、という考え方です。
そしてそのプロセス、人間系とマシン系を組み合わせたシステム全体で安全性が保証されていますという事をGSNで、先ほど言ったように、描くことができる。人間系の部分と、プロセスの部分と、機械の部分があって、機械の部分は、あらかじめ提示された例外に対して適切に対応する。でもそれ以外の事が出てきたときは、人間系がきちんと動作して、システムをうまくコントロールします。
GSNで、ステークホルダーを含めて議論全体を包含する

平鍋
DEOSのコンセプトの中には、ステークホルダーというか、関係者間の合意みたいなものはできてきますか?
それも関係するんですか?

山本先生
関係します。

平鍋
合意という事が、安全性に対してどう関係してくるんですか?

山本先生
それは、社会に対して、我々がこのようにこのシステムの安全性を保証してるという事を、客観的に説明する手段が必要です。これが、説明責任を遂行するという事なんですよ。だから、説明責任を遂行する手段として、GSNが必要なんです。その時に、我々が作ったから安全だということを主観的に説明されても、一般市民は困るじゃないですか。
その為に、可能な限り単純で分かりやすい図式が必要なんです。それがまさに、GSNなんです。

平鍋
という事は、GSN自身は、何も保証していないと思えばいいですか?
つまり、GSNで議論を書いていますが、GSNで書いたからといって何かが保証された、という事にはならない?

山本先生
それはGSNの記述の度合いにもよるし、いい加減に描いたGSNだと何も保証してないですよね。だから、GSNには、外部があるんですよ。
外部環境としての説明対処システムとか活動があるし、それから、システムが満たすべき安全原則みたいなのも外側になきゃいけないんですよね。

平鍋
少なくともGSNで描けば、ここが、あなたと意見が違うとか、ここが抜けている、とかいう議論ができるという事ですよね。

山本先生
そうですね。例えば、前提が違うという事は、はっきりします。それから、我々がこれは妥当な証拠だと思っているものも、別の人から見たら、これは証拠ではないという場合がありますよね。
そのような考え方も併せて、実はGSNでその議論全体を包含する事ができる。

平鍋
なるほど。

山本先生
この場合には、我々の主張は成立する、でも、別の場合には、我々の前の主張は成立しないので、新たな対応策を用意する。これは、先ほど言った想定外な事が起きた場合に対してですけど、そういう風にしてGSN自体をどんどん成長させる事ができる。

平鍋
システム成長とともに、GSNを成長させるという考え方ですか?

山本先生
それがまさに、先ほど言った世界の技術は完全ではないという事なんですよね。でも必ず、発展的に、徐々に完全にしていくことができる。

平鍋
GSNが歴史的に認められたのは、どのあたりからなんですか?

山本先生
GSNが最初に使われたのは、北海油田の大事故があって、それに対してそういう巨大なパイロットプラント自体の安全性を、保証する手段が要るような事から始まったと聞いてます。

平鍋
ではその辺りは、次回、松野先生に訪ねていきましょう。じゃあ松野先生、待ってますよ。行きますので。

山本先生
よろしく。

平鍋
先生、どうもありがとうございました。
2 Comments »