« 科学的モデルの作成と検討~『共変化』モデルと『タイプ置換原理』 | トップページ | ETロボコンのスペシャルセミナー『ソフトウエアの正当性とモデリングの科学』の講演資料のダウンロード »

2014年7月18日 (金)

オブジェクト指向の「並列・並行性」のモデルの検討

「数学的モデリング」の最も重要かつ難題なアプローチの公式化に「並列・並行性」のモデルがある。

この作業を一時中断していたが、再び再開した。
つまり具体的な設計ソリューションをまとめる。

実のところどの様に「オブジェクト指向」と「並列・並行性」を効果的に統合すればいいかというソリューションに研究者間に統一見解は存在しない。

「オブジェクト指向」と「並列・並行性」の統合に提案されている戦略には下記がある。

・直交モデル
・Actorモデル
・統合モデル
・アクティブオブジェクトモデル
・etc(and so on)

「統合モデル」と「アクティブオブジェクトモデル」が最も典型的と思いきや、これを否定する研究者や言語設計者もいる。

CSPやAdaのタスク型モデルのアプローチもある
この2つのアプローチは、リアルタイムやタスク間のデーター通信が極めて重要なモデルには上手く行くが、OO技法の「開放閉鎖原則」に制約が多きくなるデメリットがある。
特にCSPは大変魅力があるものの、根本的に「開放閉鎖原則」とは相いれがたい気がする。

一方、「直交モデル」はOO技法の「開放閉鎖原則」は維持されやすいが、排他制御が複雑なるデメリットがある。
そうなると「事前条件」「事後条件」のチェックにも大きな制約がかかり、並列処理で待ちを考慮する必要が他の「並列・並行性」モデルよりも厄介である。
これは並列や並行性を考慮するOO開発では有名な話である。

状態図の並列処理にも影響があるので、「並列・並行性」モデルは状態図を多用するシステムは特に重要である。

状態図には並列パーティションがあるが、実のところ本当の意味で並列に動作させていないのが今の状態図の実装の現状なのでもったいない。

ここしばらくはこの作業に焦点を当てる予定で、一定の成果を出す予定(希望的観測)。

OSと言語の持つ機能を使い、並列ライブラリーを作成する戦略もある。

|

« 科学的モデルの作成と検討~『共変化』モデルと『タイプ置換原理』 | トップページ | ETロボコンのスペシャルセミナー『ソフトウエアの正当性とモデリングの科学』の講演資料のダウンロード »