挿抜可能メソッドに基づく統一的な抽象単位複合機構

書誌事項

タイトル別名
  • Unified Composition Mechanism for Abstraction Units Based on Pluggable Methods

この論文をさがす

抄録

今日のオブジェクト指向言語では,抽象単位(クラス,Traits,アスペクトなど)を組み合わせるのに,継承,型パラメタの束縛,Weavingなど多様な複合機構が使われている.しかしこれらは,最終的には適切なプロトコルを持つオブジェクトを構成するという点では共通している.1つの言語が複数の複合機構を備えるということは,直交性の観点からは望ましくないし,各場面でどの機構を選択するかという問題が生じる.本発表では,統一的な抽象単位複合機構を持つ言語を提案する.提案機構は,ドメイン固有言語により抽象単位が持つメソッドの抜き出しや組み合立てを型安全な形で指示し,これを翻訳時に実行するものである.メソッド中の型名や非局所変数名は,メソッドを元の文脈から抜き出す際にパラメタに変換され,メソッドを他の文脈に入れる際に再度結合される.本機構は,既存の複合機構の主要部分を実装でき,またまったく新たな複合機構の実装にも用いることができる.

In today's object-oriented programming languages, abstraction units (such as classes, traits, aspects) are modified through various composition mechanisms; inheritance, parameter type binding and advice weaving (for aspects) are representative ones. However, those composition mechanisms are all the same in that they compose objects which implement desirable protocols. Having multiple compsition mechanisms defeats design orthogonality of a language, and raises (miss-)selection problems. In this presentation, we propose a programming language with an unified compsition mechanism. In this mechanisim, methods are individualy copied and combined according to dedicated domain-specific language description executed at comile time, in a type-safe manner. In this language, type names and non-local variable names within a method are converted to parameters when the method was “unplugged” from its original context. Those parameters can be rebound to actual types and variables when the method is “plugged” to another context. This mechanism can be used to implement large part of existing composition mechanism listed above, and also some completely new ones.

収録刊行物

キーワード

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

  • CRID
    1050845762835927808
  • NII論文ID
    170000147330
  • NII書誌ID
    AA11464814
  • ISSN
    18827802
  • Web Site
    http://id.nii.ac.jp/1001/00142226/
  • 本文言語コード
    ja
  • 資料種別
    article
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ