新・形式手法(ソフトウエアの新たな捉え方)のブログを書くに及んで
更新日:2015年09月15日
本項のブログを執筆する目的や背景を、会員に以下お示し致します。
2010年に米国並びに日本等で注目を浴びたアクセルやブレーキに絡む不具合の一連の問題は、トヨタのブランドを大きく揺るがしかねないものでした。トヨタは、市販マットやブレーキとアクセルの踏み間違い、あるいはブレーキ操作での運転者の違和感という主張を展開しました。最終的にはプリウスを米国運輸省(NHTSA)に持込み、不具合が存在するかその有無の検証を依頼しました。それを受けNHTSAはNASAに調査委託しましたが、不具合を見出せず、その旨の回答をトヨタは得て一連の問題は一応決着をみたようになりました。
しかし、もし不具合が存在し、自動車メーカ自身でもその不具合を再現あるいは特定できないという事態が存在するのであれば、今も不具合原因は潜在化していることになります。何時その地雷を誰が踏んでもおかしくない状態が、なお続いていると言えます。
このような事態は、ものづくりを標榜するトヨタとしては早急に改善しなければならない事柄です。特に、ソフトウエア(以降SWと記す)が絡むシステム開発の世界に於いて、急ぐ必要があると本ブログの執筆者は認識しています。SWが何故そのような世界に陥ってしまったかと言えば、SWに対しサイエンスとして、更にはその下でのエンジニアリングとしての取り組みを、日本の技術者がして来なかったためと思われます。ITはツールの世界とし、良いものが出て来たら買えばよい“高がツール”との立場が、SWをサイエンスあるいはエンジニアリングとして捉えることを疎かにさせて来たと言えます。今や組込み製品は、単なる「ものづくり」に留まらず、SWといった「心づくり」を避けて通ることはできません。それにも拘わらず、SWを、プログラム(以降PRGと記す)言語を使用し、製品に求められる要件を文章として記述したものとしているに過ぎません。文章であるとすると、人によってその意味解釈の受け取り方が違ってきてしまいます。そもそも、論理的な矛盾は、文章から読み解くことが難しい。組込み製品である自動車は、今や100個ほどのエレクトロニクスコントロールユニット(ECUと以降記す)が使われ、そのECUはSWで動いています。2015年時点で、1億ステップものPRGで動く世界になっていると言われています。正に複雑系の世界に突入した訳です。このまま、人海戦術によりPRGという文章を以てSWを書き・読み解くことを続けることができるとは、とても思えません。書けあるいは読み解けたとしても、“複雑”であるというもの(SW)ができ、あるいはできていると認識できるだけになります。膨大な工数と時間をかけてもSWが複雑のままでは、資産として再利用ができません。運良く不具合を見つけられたとしても、不用意に直して他の不具合を作り出す恐れが大きく、迂闊に手が出せません。この状況は、SWは進化(あるいは持続可能性)ではなく、SWが死へと向かうことを意味していると言えます。
このSWの根源的な問題に一早く気づき、その解消を目指すことを試みて来た人物がいます。その人は、根来文生氏です。氏は自身が提唱するLYEE理論(1)を通じ、SWが人間の思考から創出されたものである以上、その思考過程を辿れば、SWの在りようが見出せると考えたようです。SWは意味の単位(意味単元と呼ぶ)の集まりと捉え、そのことで最終的には、SWをデータの世界に置き換え可能であるとし、過去の資産を利用しながら要件を満たすSW作りができるとし、複雑化したSWも、文章でなくデータからなる存在に移し変えることで、コンピュータでの解析が可能になるとしています。この主張が正しいと証明されれば、複雑系化する組込み製品である自動車の開発での「心づくり」に於いて福音になり得ると考えます。
本ブログの執筆者は、10数年に渡って、根来氏からLYEE理論の背景にある哲学や理論の解説を聴いて来ました。その内容を、本ブログの執筆者自らの理解としてまとめ、更にはその活用の勧めを、本ブログを通し提案することは、SWのエンジニアリング化に於いて、少しは貢献できるのではと考えます。現在のSWを根源的な問題(ジレンマ)から解放するためにも、会員の諸兄が、「新・形式手法」と呼べるLYEE理論に示される新たなソフトウエアの捉え方に対する良き理解者となって頂くことを願って、本ブログをしたためる次第です。
尚、本ブログでは、以下の事項につき順次言及していくことを考えております。
(1) 新たなSWの捉え方(新・形式手法) ;SWの構造
(2) SWの新たな捉え方による基盤技術としての役割の可能性
- 順序性不要プログラム
- 新・形式に於けるモデルチェッキング/状態の自己申告
- エンドユーザプログラミング/エンドユーザコンピューティング
- LYEE理論が提示するプロセスルートダイアグラムの意味
- 仕様書不要プログラミング
- 正しい従来型プログラムの生成マシーン
- プログラム言語間変換
- 主語系譜:主語間の依存関係(連鎖構造)の見える化
- プログラムの中間構造/仕様書代替としての伝達関数
- 伝達関数の応用としての感度分析
- 状態遷移表とプログラムの全状態空間との関係
- 主語系譜のプログラム分割への適用
- 主語系譜のHW・SW協調設計問題への適用
- 新・形式とイベントドリブン型コンピュータとの親和性;超並列・超高速演算処理コンピュータ実現の可能性
- 新・形式とニューロンコンピュータとの親和性
- 新・形式とファジーコンピュータとの親和性
(3) 新・形式手法の位置づけ【既存SW技術との差異】
- 従来型形式手法*新・形式手法
- コンパイラ・中間形式・ソフトウエア解析 * 意味単元・状態空間表・主語系譜
- 字句解析
- 構文解析
- 従来の意味解析
- 最近の意味解析とバックエンド(解析・最適化・コード生成
(4) まとめ
只、本ブログでの上記取り上げ事項は、その後のLYEE理論の進化やその理解を踏まえ、また、新・形式手法と既存理論との関係の理解が進むにつれ、大きく変更されることが有り得ますので、ご承知おき下さい。
以上