ベクターコンポーネント:コンポーネント結合による差分プログラミング

書誌事項

タイトル別名
  • Dolittle: An Object-oriented Language Aimed at K12 Education
  • ベクターコンポーネント コンポーネント ケツゴウ ニ ヨル サブン プログラミング
  • Vectors: A Component Architecture for Differential Programming

この論文をさがす

説明

本稿では 拡張性と柔軟性において 従来のサブクラス化による方法に優るコンポーネントベースの差分プログラミングについて述べる.コンポーネントベースの開発において プログラムの再利用のために拡張機能の差分のみをコーディングしてプログラムに追加しようとした場合 従来のやり方では クラス定義に戻ってサブクラス拡張を行わなければならず クラス階層を熟知した上級プログラマでなければ困難であった.本稿で提案するコンポーネント差分プログラミングでは 拡張のための差分のみを持ったコンポーネント(ベクターコンポーネント)を開発し それをプログラム中に挿入できる.本方式の基盤となるアーキテクチャとして 筆者らは木構造をベースとした汎用的フレームワークNutsを開発した.Nutsでは 部品組み立て型プログラミングをベースに複数の部品が組み合わさったものも一つの部品として振舞うようなフラクタルな構造を持つ.ベクターコンポーネントは Nuts上の他のコンポーネントに対して透明で存在しないかのように振舞い フレームワーク中のどこにでも挿入できる.挿入されたベクターコンポーネントは 結合したコンポーネントに成りすまし 一部の制御を横取りすることにより拡張機能を追加する.

This paper proposes a new component architecture which supports differential programming at component composition level. Although the conventional differential Object-Oriented Development techniques are based on subclassing at the source level which required both programming language skills and detailed knowledge of library classes, our approach overperforms the conventional ones in the sense that we can prepare special components: vectors, which can be freely inserted into existing component structures and incrementally modify their target (base) components. This is attained by the following reasons: we use tree-structured generic component architecture: Nuts. In Nuts, a group of components substitutes other components topologically similar. When a vector is inserted at the root of subtree, it is invisible from lower (root-side) components, however freely intercept and modify messages to the subtree in order to extend its behaviors. Vectors are quite effective in adding various functions to GUI-based components. Thus, they are valuable tools to construct functional-rich components-based programs through incremental development.

収録刊行物

参考文献 (20)*注記

もっと見る

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ