Skip to main content
QUICK REVIEW

[論文レビュー] SWI-Prolog

Jan Wielemaker, Tom Schrijvers|arXiv (Cornell University)|Nov 24, 2010
Software Engineering Research参考文献 28被引用数 5
ひとこと要約

SWI-Prolog は、知識集約型およびインタラクティブなアプリケーションの統合基盤として設計された、コミュニティ主導で拡張可能な Prolog システムです。コミュニティ寄稿のライブラリ、ガベージコレクタを含む商用拡張機能、PlDoc、PlUnit を組み合わせ、外部リソースと多様な Prolog の研究的アイデアとの間をつなぐ役割を果たします。

ABSTRACT

SWI-Prolog is neither a commercial Prolog system nor a purely academic enterprise, but increasingly a community project. The core system has been shaped to its current form while being used as a tool for building research prototypes, primarily for extit{knowledge-intensive} and extit{interactive} systems. Community contributions have added several interfaces and the constraint (CLP) libraries. Commercial involvement has created the initial garbage collector, added several interfaces and two development tools: PlDoc (a literate programming documentation system) and PlUnit (a unit testing environment). In this article we present SWI-Prolog as an integrating tool, supporting a wide range of ideas developed in the Prolog community and acting as glue between extit{foreign} resources. This article itself is the glue between technical articles on SWI-Prolog, providing context and experience in applying them over a longer period.

研究の動機と目的

  • SWI-Prolog が多様な Prolog の研究とアプリケーションを統合するプラットフォームとして機能することを提示すること。
  • 知識集約型およびインタラクティブなシステムの長期的開発を支援する役割を強調すること。
  • コミュニティおよび商用寄稿が統合された一貫性があり拡張可能なシステムとしての構築を文書化すること。
  • SWI-Prolog が外部リソースと Prolog ベースのコンポONENT間をつなぐ「接着材」として機能する仕組みを示すこと。
  • レポート自体をレイトレイトド・プログラミングのアーティファクトとして用いることで、文脈的な経験と技術的ガイダンスを提供すること。

提案手法

  • インターフェースおよび制約(CLP)ライブラリを含む、コア機能の拡張にコミュニティ寄稿を活用すること。
  • 生産環境用のガベージコレクタを含む、商用寄稿を統合してメモリ管理の改善を図ること。
  • ドメイン固有のツールの開発:レイトレイトド・プログラミングのドキュメンテーション用の PlDoc、ユニットテスト用の PlUnit。
  • 外部(フォーリン)リソースと相互運用可能なようにシステムを設計し、ハイブリッドアプリケーション開発を可能にすること。
  • レポート自体をレイトレイトド・プログラミングのアーティファクトとして用い、長期的な保守性と統合の妥当性を示すこと。
  • 多様な研究プロトタイプをサポートできる柔軟で拡張可能なプラットフォームとして、SWI-Prolog をアーキテクチャ設計すること。

実験結果

リサーチクエスチョン

  • RQ1Prolog システムは、コミュニティおよび商用寄稿を一貫した開発プラットフォームに効果的に統合できるか?
  • RQ2Prolog システムは、知識集約型およびインタラクティブなアプリケーションの長期的開発をどのように支援するか?
  • RQ3Prolog システムは、外部リソースとネイティブ論理プログラミングコンポONENT間をつなぐ「接着材」としてどのように機能するか?
  • RQ4ドキュメンテーションおよびテストツールの統合は、Prolog システムの信頼性および使いやすさをどのように向上させるか?
  • RQ5コミュニティ主導の開発モデルは、研究指向のプログラミングシステムの進化と持続可能性にどのように寄与するか?

主な発見

  • SWI-Prolog は、研究プロトタイプ開発における継続的使用を通じて、安定したコミュニティ主導のプラットフォームへ進化した。
  • コミュニティ寄稿により、特にインターフェースおよび制約論理プログラミング(CLP)ライブラリ分野で、システムの能力が著しく拡張された。
  • 商用関与により、ガベージコレクタの実装を含む、コアインfraの強化が実現した。
  • PlDoc および PlUnit の統合により、Prolog エコシステム内でのコード保守性とソフトウェア工学的実践が向上した。
  • SWI-Prolog は、外部(フォーリン)システムと Prolog コンポONENT間の相互運用性を実現する「接着層」として、成功裏に機能した。
  • レポートのレイトレイトド・プログラミングのアプローチにより、研究文脈における長期的かつ文書化されたソフトウェア開発に適したシステムの適合性が示された。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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