2013 Fiscal Year Research-status Report
クラス構造のメタ記述による合成を許すプログラミング言語機構
Project/Area Number |
25330076
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Research Institution | University of Tsukuba |
Principal Investigator |
久野 靖 筑波大学, ビジネスサイエンス系, 教授 (00170019)
|
Project Period (FY) |
2013-04-01 – 2016-03-31
|
Keywords | 抽象化単位 / クラス / コンポジション / アスペクト / 型パラメタ / First-Class Composition |
Research Abstract |
平成25年度の研究においては、研究計画に基づき、まず既存の言語における抽象化単位(一般的なオブジェクト指向言語ではクラスに相当)の扱いやその複合(コンポジション)機構について、既存言語の機構について調査を行った。対象とした言語としては、Scala、CLU、C++、Java/AspectJなどが挙げられる。また、本研究と同様の目的を持つ研究についても文献調査を行った。 まず文献について言えば、本研究と同様の目的を持った研究はほとんど見られなかったが、Bergmans他によるFirst-Class Compositionと称する研究において、継承に相当する抽象化単位の複合機構を記述したり、アスペクト指向に相当する複合を実現できるものが提案されていた。ただし当該研究は特殊な呼び出しモデルを持つ言語を前提としており、既存の(広く用いられている)言語のモデルとは相違していること、また強い型を持たないことが前提であり、型パラメタを扱わないことなどの点で、本研究とは目指すものが違っていた。 次に既存言語の調査については、Scalaにおいて、クラス定義中に抽象記述された型を含め、サブクラスにおいてそれを具体的な型に置き換えることで継承を型パラメタの代替として使えることが分かった。ただし、継承そのものは他の言語と基本的に同じであり、本研究のように継承の中身を基本要素に分解するのとは異なっていた。 これらの調査と並行して、開発予定の言語の試験実装に必要な基本部分のコーディングを行い、一般的な型検査機能までは稼働を確認している。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
研究の目的は、継承・アスペクト・型パラメタに代表される抽象化単位複合機構を、継承のような「複雑な機構の決めうち」ではなく、より基本的な機能を提供し、その機能に基づいて合成可能とすることで、多様な複合が行えるような言語の可能性を実証することである。 平成25年度においては、調査を中心に行った結果、既存言語や既存研究において本研究と同等の目的を達成しているものは無いことが確認された。またそれと併せて、本研究の目的達成のためにはどのような複合機構(ないしそのセット)を提供すべきかが明確となる必要があるが、既存言語・既存研究からそのヒントを得ることができた。 現時点では、継承は抽象化単位間でのメソッド定義の「つけ替え操作」によって実現でき、アスペクトはこのつけ替え時に「複数メソッドの結合操作」を許容することで実現できるとの見通しを得ている。型パラメタについては型名の書き換えないし「再定義操作」によって他のケースと併せて実現できるかどうか検討中である。
|
Strategy for Future Research Activity |
H26年度には、提案言語の試験実装を行う予定となっている。現在、この言語の具体的な操作記述部分(メソッド定義つけ替え操作、複数メソッドの結合操作、型の置換ないし再定義操作)について、検討を行っているが、記述方式を確定した上で実装に進みたい。 実装が稼働した段階で、実際にコードの記述を行い、その結果に基づいて修正点などについて検討を進める計画である。実装方式は、とりあえずツリーインタプリタを採用する予定である。
|
Expenditure Plans for the Next FY Research Funding |
予定していた研究資料として適切なものが一部見つからなかったため 26年度は、繰り越した研究費を含めて、研究資料を揃え、引き続き方式の検討を行った上で、予定通り実装に進む計画である。
|
Research Products
(1 results)