InfoQ

News

JavaモジュールのProposal: iJAM

作者 Geoffrey Wiseman, 翻訳者 編集部 投稿日 2007年10月11日 午前2時7分

コミュニティ
Java
トピック
JCP Standards,
リサーチ
タグ
Java SE,
JSR 277,
JSR 294

新たなプロポーサルであるiJAM(サイト・英語)がJSR-294(サイト・英語)上にて広まり、モジュールディベロップメントのメーリングリスト(source)にはその"スーパーパッケージ”用の試案プロポーサル(source)の内容の変更を提案するものもあったが、それに関してDoug Lea氏から前向きな意見(source)が得られた。

「そのプロポーサル」は最高です!ノンリバースdfsが単にあなたが欲しがったものというわけではなかったことを理解するのには時間がかかりましたが、"import own M"と"import M as X"を簡潔にサポートするキーとなっているのです。

iJAM、もっと表現性と直感性のある動作(PDF・英語)がJavaモジュールシステムに潜在している弱点を解説する。

私たちは、モジュールシステムがたくさんの複雑なソフトウェアデザインの問題解決の助けとなることを発見しましたが、それでもまだ私たちの言う高レベルの分割問題を解決するのにはまだ表現性が足りないのです。また私たちはモジュールとクラス定義ルックアップ機能が多少、非直感性ビヘイビアを供給することに気づきました。

高レベルの分割問題は、2つのモジュールが存在していて、それらが3つ目のモジュールに依存しており、それ同士が反発したときに起こるものである。非直感性のルックアップ機能は提案されたリバースdepth-firstサーチを提示し、またそれはもっと低レベルのモジュールがそのスコープをコントロールするのを困難にさせるのだ。

iJAMプロポーサルはこの問題を次の方法を用いて解決しようとする。クラスとモジュール定義のDepth-first(self then parent)ルックアップ-モジュールの共有コントロールを許容するクラスをインポートする。

Java Module Systemの早期アクセスリリースとiJAMはダウンロード可能で実験、テスト済みである。これはプロポーサルで実験してみる良い機会である。それが動作をしているのを見てまたそれはフィードバックもくれる。

これに関する更なる情報に関しては下記の文献を読んでみてほしい。JSR-277: Java Module System(source)、JSR-294: Improved Modularity Support in the Java Programming Language(source)、JSR-291: Dynamic Component Support for Java SE(source) またこのプロポーサルの価値とオーバーラップ、またOpenJDKプロジェクトからの277と294の早期アクセスリリース(source)における論争に関する情報は今後もInfoQにて入手して欲しい。

原文はこちらです:http://www.infoq.com/news/2007/10/java-modularity-ijam

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。