先日,ソフトウェア技術者協会のシンポジウム懇親会で,ある先生と話をしていて,偶然にエスノメソドロジーの話になりました.それで,色々と昔のことを思い出しました.
一時期,フッサールの現象学に入れ込んでいました.フッサールの流儀で全てをドクサ(臆断)として括弧に入れていくと,明瞭な認識を得られます.しかし,そうした瞬間に生活世界の成立するゆえんを理解できなくなります.生きている世界は,ドクサのかたまりなのですから.フッサールの指導を受けたハイデッガーを初めとして多くの人が解決手段を考えます.私は,その中でも,精神分析家のラカンや木村敏さんに興味を移すのですが,長くなるので今回は省略します.
さて,エスノメソドロジーという学問分野は不思議な名前です.エスノ(ethno-)という接頭辞は,民族や文化を表しますが,民俗学と関係していません.ある集団(そこには同一民族だとしても様々な人がいます)が成立しているその姿をそのまま明らかにしようとします.
いま,手元にある本に「日常性の解剖学(1995)」という本があります.彼らのmethodologyにプロトコル分析があって,幾つかの会話が収録されています.
(夫の発話)(帰宅して)今日,ダナは抱き上げてやらなくてもパーキング・メーターにうまいこと1ペニー入れたよ.
[発話の背景]私の4才になる息子のダナは,以前はいつもパーキング・メーターの高さまで抱き上げてやらねばなかった.でも,私が彼を幼稚園から連れて帰った今日の午後,車を駐車場に留めたとき,上手に1ペニーを投入できた.
(妻の発話)あなた,あの子をレコード店に連れて行ったの?
[発話の背景] 息子がメーターに1ペニーを入れたのなら,あの子が一緒の時に,あなたは寄り道をしていたのだ.息子を連れに行く途中か,それともその帰り道のどちらかで,レコード店に立ち寄ったに違いない.帰り道に拠ったのであの子はあなたと一緒だったのか?
発話の背景をムシすると,全く脈略のなさです.文脈依存だから当たり前という大人の理解以前に,私には新鮮な驚きがありました.何故,人は会話をするかということの根源におそらくクイズ的要素があるのではと思います.あえて,分かるようには話さない.相手は,自らの推測のベースにして,同様に直截は分からないように答えを返す.それが楽しいから会話をするし,会話の成立を通じて,日常のおそらく人間関係が明らかになる(それは会話を通して作っていくものでもある).
背景どおりしゃべられたのでは,それは論理的かもしれませんが,会話する気は失せてしまいます.更に云うならば,共感や納得と行った感情もそこでは生まれない.
さて,私はセーフティケースに関わる訳語に,裁判で使うような言葉を利用します.例えば,argumentは,意味が広くて難しいのですが,立証と通常訳します.上記の会話文を記録したガーフィンケルは,エスノメソドロジーの創始者の一人ですが,彼は初期に陪審員研究を行っていました.セーフティケースは作成者のためだけのものではないので(それを通じてassessorや場合によっては利用者を納得させないといけない),ここには何かヒントがあるのではと思っています.
(nil)
多足というのは,例えばGSNでセーフティケースを記述したときの姿を指します.ある安全要求に対して,複数の証拠とそれに基づく立証があるとき,多足に見えます(GSN図を想像してみてください).単に,樹ではないかとも思わないでもないのですが,証拠が一つで立証が複数でも構わないので,樹とよぶには忍びないということかもしれません.
前回の話では,単に安全立証のためのセーフティケースには,もっともらしい図があるだけではだめで,確信(confidence/credibility)が必要になるということでした.
この確信を高めるためには,多足(multi-leg)が望ましいとされています.例えば,一般にコードレビューをするときのことを考えると,アリバイ的に漫然とみんなでコードを眺めるのではなく,役割を決めて(ある人は coding convention中心に,ある人は動的ふるまい中心に)実施するのではないかと思います.これが多足になります.
では,セーフティケースにおいて,どのような「足」があるのでしょう.
- 論理的な証明
- テストによる統計的な解析
- 安全確保のためのプロセスの確認
- 実績からの類推
これは,61508(26262)や,英軍の00-55といった規格でSILに従った形で示されています.実際に規格をみると様々な種類が記載されているのですが,概ね上記の4種類に分かれるのではと思います.
しかし,どの足も,このままでは容易に落とし穴に落ちそうです.1.はToulminが主張したように適用範囲が限定的です.2.は,例えばC0:100%だったら良いとは誰も思わないでしょう.3.は間接的ですし,4.は類推可能かという疑問はついて回ります.
結局は,より要求や証拠に添った形で,丁寧に立証していくしかありません.Toulminモデルにあるように,最後は様相的にしかいえないということだろうと思います.しかし,その程度を明示しようというのは,誰もが考えることで,これからも,その努力が続けられていくのだろうと思います.
(nil)
次のようなセーフティケースの定義があります.
argument that the safety goals for an item are complete and satisfied by evidence compiled from work products of the safety activities during development (ISO/DIS 26262-1)
安全目標が達成されていることを証拠を用いて示すことと,単純に云えます.GSNで簡単に書くと次のようになります.
矩形の部分が安全目標で,円形の部分が証拠を示します.しかし,これで十分とはいえないのは明らかです.少なくとも定義にある完全性(complete)を満足していないように思います.例えば,サブシステムSiにおける安全とは何か,安全性のテストとはいかなるものかということを明らかにする必要があります.
しかし,それらを細かく記載したとしても次なる疑問が生じるものです.
例えば,テスト結果に関しては,次のように詳細化したとします.設計で安全機能をブロック化し,その入出力に関して検証器を用いて網羅的に調べたとします.それでもなお,本当に検証器を通したモデルとコードが一致しているか,そもそも適切なassertionを設定しているか,誰がどのようにその結果を評価したかなどなど,更に疑問を投げかけることができます.いつまでも終わりのない記述になりそうです.
さて,トゥールミンのモデルで様相演算子がでてきます.これは,必然正や可能性を表す論理記号で,命題論理式での恒真のようなことは立証としてはいえないということから来ています.従って,セーフティケースを記述するからと云って,ある種の蓋然性からは逃れられないということなります.
では,なんのためにセーフティケースを記述するかという主題について考えると,どのように安全性を考え,どのようにそれに対応したかを表明するということでしかないわけです.それ自身が完全な安全性を示すことはできないのです.そうすることで,Nomrodの事故調査における詳細な批判ということも可能になります(NOMROD REVIEW).
ちなみに,より良い安全性立証のために,立証への確信度合い(confidence)をGSN表記に加えるというアイデアも最近でてきています(A New Approach to creating Clear Safety Arguments).
(nil)