Skip to main content
QUICK REVIEW

[論文レビュー] Customisable handling of Java references in prolog programs

Sergio Castro Mejia, Kim Mens|arXiv (Cornell University)|Jan 1, 2014
Logic, programming, and type systems参考文献 16被引用数 1
ひとこと要約

本稿では、参照の表現、透過性、同一性の保持、ライフサイクル管理といった主要な次元に対応することで、Prolog プログラムにおける Java オブジェクト参照の表現および管理のためのカスタマイズ可能でポータブルなアプローチを提案する。JPC ライブラリを拡張し、SWI、YAP、XSB の3つの主要な Prolog エンジンをサポートすることで、Prolog エンジン環境に関する最小限の仮定で、言語に依存しない相互運用性を実現する。

ABSTRACT

Integration techniques for combining programs written in distinct language paradigms facilitate the implementation of specialised modules in the best language for their task. In the case of Java-Prolog integration, a known problem is the proper representation of references to Java objects on the Prolog side. To solve it adequately, multiple dimensions should be considered, including reference representation, opacity of the representation, identity preservation, reference life span, and scope of the inter-language conversion policies. This paper presents an approach that addresses all these dimensions, generalising and building on existing representation patterns of foreign references in Prolog, and taking inspiration from similar inter-language representation techniques found in other domains. Our approach maximises portability by making few assumptions about the Prolog engine interacting with Java (e.g., embedded or executed as an external process). We validate our work by extending JPC, an open-source integration library,with features supporting our approach. Our JPC library is currently compatible with three different open source Prolog engines (SWI, YAP and XSB) by means of drivers

研究の動機と目的

  • Java オブジェクト参照を Prolog プログラムで表現する際、同一性とライフサイクルを保持する方法を提供すること。
  • Prolog における既存の外部参照パターンを一般化し、複数の相互運用次元をサポートする。
  • Prolog エンジン環境に関する仮定を最小限に抑え、埋め込み型または外部プロセス型の異なる実行モデル間でのポータビリティを向上させること。
  • 相互運用参照変換ポリシーの管理を柔軟かつ拡張可能にするフレームワークを提供すること。
  • オープンソースの JPC ライブラリへの統合を通じた検証により、複数の Prolog エンジンとの互換性を確保すること。

提案手法

  • Prolog における Java オブジェクトの参照の表現モデルを設計し、透過性、同一性の保持、制御されたライフサイクル管理を実現する。
  • スコープと挙動のカスタマイズが可能なポリシー駆動型の変換メカニズムを定義し、相互運用のための参照ハンドリングを制御可能にする。
  • JPC ライブラリにドライバベースのアーキテクチャを実装し、エンジン固有の詳細を抽象化することで、複数の Prolog エンジンとの互換性を確保する。
  • 他の分野で既に確立された相互運用表現技術を活用し、参照セマンティクスの設計を支援する。
  • JPC を拡張し、エンジン固有の実装とは分離された、カスタマイズ可能な参照ハンドリングパターンをサポートする。
  • SWI、YAP、XSB の3つのオープンソース Prolog エンジン上で展開・テストを行い、アプローチの妥当性を検証する。

実験結果

リサーチクエスチョン

  • RQ1どのようにすれば、オブジェクトの同一性を保持するとともに、制御されたライフサイクル管理を可能にする形で、Prolog における Java オブジェクト参照を表現できるか?
  • RQ2異なる実行モデルを備えた複数の Prolog エンジン間で、外部参照をポータブルに扱うために必要な設計原則は何か?
  • RQ3多様な相互運用統合パターンに一般化可能な統一された参照管理モデルをどの程度まで拡張可能にすることができるか?
  • RQ4透過性と参照表現のスコープをどのように制御すれば、安全かつ効率的な相互運用を両立できるか?
  • RQ5相互運用参照変換にポリシー駆動型のアプローチを用いる場合の実用的トレードオフと利点は何か?

主な発見

  • 提案されたアプローチは、複数の Prolog エンジン間で一貫した Java オブジェクト参照の表現および管理を実現した。
  • JPC ライブラリの拡張により、共通の抽象化レイヤーを介して SWI-Prolog、YAP、XSB Prolog エンジンとのシームレスな統合が可能になった。
  • Prolog エンジン環境に関する仮定を最小限に抑え、ポータビリティと再利用性が向上した。
  • 本アプローチは、複数の参照ハンドリング次元を組み込むことで、既存の Prolog 外部参照パターンを一般化および拡張した。
  • ドライバの使用により、エンジン固有の適合が可能でありながら、参照管理のための均一なインターフェースを維持できた。
  • 参照変換のカスタマイズ可能なポリシーを提供することで、スコープ、有効期間、可視性に対する細かな制御が可能になった。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。