« ETロボコン南関東大会スペシャルセミナーの資料公開その2 | トップページ | 科学的ソフトウエア開発のススメ~数学的・論理学的な動的モデルの設計方法 »

2010年6月21日 (月)

プロセス代数の重要性~オートマトンやCSPを基礎から学習しよう

ソフトウエア開発でさかんに品質や再利用性が語られているが、21世紀はより数学的に問題を考えて行かないと困難な時代である。

ところが、今現在もUMLによる作画中心の経験則的な開発がおこなわれており、セミナーなどもほとんど従来のオブジェクト指向開発のやり方から変化が無いように感じる。

CPUはマルチコア時代になっているのだし、従来の開発手法は非常に非効率になっている。

特に動的な側面は、古典的だがホアのCSPやオートマトンの原理、FSMの形式的アプローチなどの基礎の重要性を今一度再認識するのがいいだろう。

日本の場合、プロセス代数があまり理解されておらず非常に軽視されている。

プロセス代数は、動的な処理や並列性を厳密に検討できるだけでなく、支援ツールによる色々多くの自動化の恩恵を受けれる。

この自動化は昔の(あまり役に立たなかった)CASEツールによる支援とは大きく異なり、人間が行うと非常に困難なことも自動で行える非常に優れたものである。

ただし、これらの恩恵を受けるには開発者にも初期投資が必要だ。

述語論理学や様相理論、時相理論の学習やプロセス代数の学習が必要となる。

プロセス代数を理解するには、まず基礎的な命題論理や述語論理の知識が必要だが、これまた日本の開発現場のエンジニアにはありまり理解されていない。

日本では今でも再利用性や保守性についてのアプローチは人海戦術が基本のようだ。

ほとんどが人間が懸命に行わなければならない作法と作業プロセスの定義とそれらの遵守に意識が行く。

このアプローチは作業と時間ばかり掛り、現在のビジネス環境では、ほとんど効果は出せない。

ソフトウエアを取り巻くビジネス環境はそれほど甘くないからである。

これからは、動的な視点であるプロセス代数の意識とそれらを基礎に置くツールの活用が重要である。

しかしながら、オブジェクトの状態などの分析や設計も状態図や状態表を用いて経験則的に行うセミナーなどがほとんどで、LTSA、FDR、JCSPなどによるプロセス代数を用いた分析・設計アプローチは、ごく一部を省いて指導されていない状況だ。

このような科学的なアプローチは、日本ではあまり知られていないようだ。

これでは、再利用や堅牢なアーキテクチャを実現する設計はあまり期待できない。

|

« ETロボコン南関東大会スペシャルセミナーの資料公開その2 | トップページ | 科学的ソフトウエア開発のススメ~数学的・論理学的な動的モデルの設計方法 »

「パソコン・インターネット」カテゴリの記事