分権的コミュニティウェア開発--「器(メディア)」と「中身(コンテンツ)」 の相互編集によるガヴァナンス 研究テーマ(25文字以内)分権的コミュニティウェア開発-器と中身の相互 編集性 研究課題 社会制度論・メディア論・ソフトウェア工学といった諸学問分野についての 横断的な観点・手法により、コミュニティガヴァナンスの理論について研究を 行う。特に、オブジェクト指向技術による分散コミュニティウェアの実装と運 用評価のスパイラルを繰り返すことを通じて、自律分散協調的構造の一般的な 背景機構を実装にを通じて案出し、抽象クラスとして背景構造の抽出を試みる。  社会制度やコミュニケーションメディアにおける「器」と「中身」が、シス テムの構成員にとって操作可能な対象として公開・共有された場合には、そこ に起こるコミュニティが創発的な問題解決システムを自然発生的に獲得し、メ タ自己同士の編集的関係性が構築される、という仮説を立てる。  器と中身はそれぞれクラスとインスタンスの構造であると考えられることか ら、問題解決のための具体的方策として、JavaのCLASSPATHの階層構造(器)と 永続オブジェクト内のインスタンスの階層構造(中身)を、マルチユーザーで分 散協調的に利用できるような共有空間として拡張し、これをデータベースの分 散的な開発環境・コミュニティウェアとして運用する。この運用過程をもって、 操作的に先の仮説を証明するものである。 ☆研究背景: 責任を取るべき対象が増えれば、責任を取ること自体が次第に困難となる。 やがては責任という考え方自体が無化してしまう。権利についても同様に、権 利主体が増えれば権利の衝突があちこちで発生し、権利自体も無化されてしま う。このような閉塞構造は、近代的個人を出発点とする思考様式・自律的個人 の自己責任による選択が単純に総和されることで構成される社会が、不可避的 に到達するものであると言える。 筆者が参加しているネットワークコミュニティプロジェクトでは、このよう な閉塞性を打開する方法として、個人と他者のコミュニケーションによる、社 会的関係性の動的構築へと着目することにより、「ゆるやかなメタ自己の編集 的自覚」を促すというテーマを持っている。ここに本研究の出発点を置く。  まず社会科学的な観点から、「市民の政治参加」を例として取り上げる。間 接民主制という社会制度には、既存の行政手続きの構造を通じての、選挙によ る政策選択・施行結果の享受という政治参加のレベルと、それにとどまらず有 権者の中から被選挙人となる者が現れて政策立案を行うといったように、既存 の政治の枠組みを組み替えるような、より高次の参加のレベルが存在する。こ うした複合的なレベルにおける多数の参加主体が、相互に啓発し影響を与え合 うことで、民主主義の効果を高めることができるという議論がある。この例に おける、自律的・自発的な参加主体は、自己と社会との関係性の機微に自覚的・ 操作的でありながらも、その自己同一視(関与)する領域範囲が、近代的な個の それと比べて曖昧なままに「社会化」されている、というように考えられる。 本研究では、このような参加主体の特性を、「ゆるやかなメタ自己の編集的自 覚」がなされた状態であるとする。 ☆研究目的: 本研究は、先述のような参加レベルの上位構造と下位構造の相互作用を、 「器と中身の相互編集性」として重要視し、この概念の社会的共有と一般化を 試みることを目的としている。本研究は、「メタ自己の編集的自覚」を行わし めるロールプレイングモデルを持ったコミュニケーションのルール体系、それ を促すアフォーダンスを備えたツールをデザインする。その過程で、このデザ イン問題(命題)を、コミュニケーションのメディア(器)とコンテンツ(中身) の相互編集性を実現させる点に収束させることで、応えるものとする。  オブジェクト指向によるネットワークコミュニケーションメディアのデザイ ンとして、この問題を検討してみると、メディアとは、社会的に共有された情 報の器・データベーススキーマ、即ちクラス構造であり、コンテンツとは、個 人が記述し発信する情報の中身・メッセージ、即ちインスタンス構造であると 考えられる。このことから、問題解決のための具体的方策として、Javaの CLASSPATHの階層構造(器)と永続オブジェクト内のインスタンスの階層構造(中 身)を、マルチユーザーで分散協調的に利用できるような共有空間として拡張 し、これをデータベースの分散的な開発環境・コミュニティウェアとして運用 評価することをテーマとして設定する。以上が、本論の具体的な研究対象とな る。 ☆研究内容: 研究の前半部分となるのは、マルチユーザによる動的なクラス生成のための 権限・セキュリティモデルの構築と、そうした仕組みのもとでのマルチユーザ による動的な共有インスタンス操作モデルの設計実装の作業である。 第一に、Delegation Model, Factory Patternなどのデザインパターン・ Reflection Objectなどの自己反映機能・RMIあるいはHORBなどの分散オブジェ クト機能による、プログラムモジュールの疎結合性(異なった設計運用主体に よるモジュール同士の結合性・通信性を高める構造)を基礎とする。 第二に、「クラス A」を「Classクラス」からメタ視することにより、特定の クラスをインスタンスの一種として扱う。これは、永続オブジェクトである Byte配列からjava.lang.ClassLoader#defineClassを利用して動的にクラス生 成をすることでの、「インスタンスとしてのクラス」をJavaVMに提供する DynamicComposedClassLoaderクラスを実装することによるものである。これら により、クラス構造を動的に操作するための上位概念層を作りだし、論理階上 位の構造を再帰的に「屋上屋を架す」ことを可能となるようにJava言語モデル の自由度を高める。 第三に、動的クラス生成を行う際のプリコンパイルによって、共有構造上に インスタンスとして作成されるオブジェクトについて、メソッド呼び出し等の 可否をユーザ毎に設定・判定するためのtry{}catch{}throwコードを、メソッ ド内の各所に埋め込む機構を実装する。これにより、JavaVMの動作環境を擬似 的にマルチユーザ化する。 研究の後半部分としては、実装したシステムを、多ユーザ参加による、デー タベースの動的スキーマ開発・データベースの動的運用のためのアプリケーショ ン基盤として、利用・評価する。これによって、社会制度やコミュニケーショ ンメディアにおける「器」と「中身」が、システムの構成員にとって操作可能 な対象として公開・共有された場合には、そこに起こるコミュニティが創発的 な問題解決システムを自然発生的に獲得し、メタ自己同士の編集的関係性が構 築される、という仮説を立て、これを操作的に実証することを試みる。さらに、 こうして作り出した実装の中から、抽象クラスとして一般構造を抽出操作する ことを試みる。以上の研究には、コンポーネントごとに実際に運用しながらコー ディングを行い、設計・実装・評価による自己再編のスパイラルを繰り返す手 法を採用する。 このように、社会学的議論・メディア論から、ソフトウェア工学的問題領域に 至るまでの、学問分野を横断的な構造に着目し、コミュニティガヴァナンスの 理論を実証的に模索・追求するという点に、本研究の特質がある。   研究計画2 (研究プロポーサルを修正したもの、あるいは修士論文のプ ロポーサルを記入してください。)☆これまでの研究の軌跡: 今後の研究を開始するに当たって、これまでに準備した要素技術について振 り返る。以下の技術的研究とモデルの提案実装は、自律分散的構造とそれを扱 う人間(開発者、管理者、ユーザ)にとって、いかなるオブジェクトモデルと そのパターンが必要となるかの考察に基づくものであり、今後についての研究 内容と、その研究背景は同一的である。 分散オブジェクト基盤の採用: サーバオブジェクト同士、サーバオブジェクトとクライアントオブジェクト 間の通信は、HORBによる分散オブジェクト基盤を利用することによって、呼び 出し対象がローカルなオブジェクト・リモートのオブジェクトのいずれであっ ても共通したコードを利用することが可能であるようにする。これにより、通 信におけるキャッシュの利用、接続先の動的な変更等といったような発展性を 実現した。また、多数のJavaVMがひとつのJavaVM上のオブジェクト(を起源と するキャッシュオブジェクト)を、共有して利用できるものとした。 永続オブジェクトによるメモリ・ストレージ資源を単純化するモデルの採用: サーバオブジェクトが利用するリソースは、トランザクション管理と、メモ リ上の資源とディスク上の資源をシームレスに取り扱うため基盤として、 ObjectDesign社のフリーウェアであるObjectStore PSEによる永続オブジェク トを利用する。これにより、分散的主体による要求の調整と統合、処理結果の 永続性を保証することができた。 アプレット,サーブレット等コンポーネントモデルの採用: ユーザが実際に利用するサービスのインターフェイスをAppletとして提供し、 HORBによりAppletが直接にサーバオブジェクトを分散共有するモデルと、WWW クライアントから利用するためのHTTP Servletによるサービスのwrapperを提 供するモデルを実装した。クライアントとサーバはインターフェイスとORBを 通じてコピーされるイベントオブジェクトを通じて、ネットワーク上に分散し たJavaVM上の多数のコンポーネントが、分散協調的な動作をする、プラガブル なシステムを構築した。 RDBMSのスキーマとデータの分散権限的な構築・運用モデルの設計と実装: RDBMSにおけるスキーマ構造(器)・データ構造(中身)の双方に対して、 WWWクライアントからの統一的なインターフェイスによって新規作成・編集・ 削除といった操作を行えるものとし、さらにこの操作権限をマルチユーザー化 したデータベースモデル(クラスブラウザ+オブジェクトインスペクタ) "Nomos"を実装した。これは、従来的なRDBMSの構築・運用における、データベー ススキーマデザインの主体、アプリケーションデザインの主体、ユーザーとし ての主体の隔絶的な関係を解消し、RDBMSそれ自体をコミュニティウェアとし て再提案するものである。この"Nomos"は、ネットワークコミュニティプロジェ クト内のグループウェアとして、またプロジェクトメンバーである橋本岳(97 年度修士卒)の修士研究のアンケート収集システムなどとして利用され、多様 な参加者が分散的に情報を記述し構造化する際に有効な方法であるとして利用 されている。当システムは、プロジェクトサーバ上で"Nomos"の公開用デモ版 を起動させている。(http://www.netcom.mag.keio.ac.jp:8001/login) オブジェクト構造のグラフィカルな状態計算・表示環境モデルの設計と一部実 装: 連続的な2次元空間上に多数のオブジェクトを配置し、近傍のオブジェクト同 士が相互作用する状態を(サーバ側において)計算し、(クライアント側におい て)可視化するモデル"Physis"を考案し、このモデルを一部実装した。これは、 n個のオブジェクトの相互作用(衝突判定、チャットメッセージの伝達など)を、 単純にはnの階乗の計算回数を必要とする問題を、空間の連続性と近傍性を踏 まえながらの相互作用関係のローカルグループを動的に生成し、計算回数を減 少させることで、同時処理可能なオブジェクト数と、毎秒の更新回数をを向上 させるものである。これは筆者のホームページ(http: //www.sfc.keio.ac.jp/~hiroya/Physis/)でAppletの形で試験的に公開中であ る。 実時間電子メディアにおける通信の遅延の可視化モデル設計と一部実装: インターネットなど広域のネットワークシステム上では、通信には不均一な 遅延があり、これが実時間的コミュニケーションを疎外する障害となっている。 そこで、この遅延は構造的に不可避的なものであるとの前提に立ち、オブジェ クトを可視化した空間において、オブジェクト同士の位置と運動の関係を用い て、リモートオブジェクトとの通信遅延を可視化するためのモデルを提案する。 これは、遅延状況の観測・予測結果を、時間軸における距離を空間上のオブジェ クト同士の距離と相対速度の関係へと変換し、ユーザのマウス操作と相互作用 させる手法によって実現する。このモデルは、"Physis"のインターフェイスの 一部として先行的に実装されている。