Skip to main content
QUICK REVIEW

[論文レビュー] A Comparison of NOOP to Structural Domain-Theoretic Models of Object-Oriented Programming.

Moez A. AbdelGawad|arXiv (Cornell University)|Mar 29, 2016
Advanced Software Engineering Methodologies被引用数 3
ひとこと要約

この論文は、OOPの名前付き型ドメイン理論的モデルであるNOOPと、CardelliおよびCookによる構造的モデルとの間の形式的比較を提示する。名前付き型と構造的型の型システムの関係を明確にし、名前ベースの型の区別を明示的に組み込むことで、構造的モデルがどのように拡張されるかを正確な数学的記述で示している。

ABSTRACT

Mainstream object-oriented programming languages such as Java, C#, C++ and Scala are all almost entirely nominally-typed. NOOP is a recently developed domain-theoretic model of OOP that was designed to include full nominal information found in nominally-typed OOP. This paper compares NOOP to the most widely known domain-theoretic models of OOP, namely, the models developed by Cardelli and Cook, which were structurally-typed models. Leveraging the development of NOOP, the comparison presented in this paper provides a clear and precise mathematical account for the relation between nominal and structural OO type systems.

研究の動機と目的

  • 名前付き型と構造的型のオブジェクト指向型システムの違いを形式的に分析すること。
  • NOOP、すなわちOOPのドメイン理論的モデルが、完全な名前付き型情報を取り入れる方法を調査すること。
  • 名前付き型と構造的型システムを比較するための厳密な数学的枠組みを確立すること。
  • 代表的な構造的モデル(CardelliおよびCook)と、新たな名前付きモデル(NOOP)との間の概念的かつ形式的な関係を明確にすること。

提案手法

  • 名前付き型情報を明示的に符号化するドメイン理論的OOPモデルとしてNOOPを構築した。
  • 比較の基準点として、CardelliおよびCookの構造的モデルを形式化した。
  • ドメイン理論を用いて、名前付きおよび構造的設定の両方におけるオブジェクト型、継承、サブタイプをモデル化した。
  • 圏論的および順序論的構成要素を通じて、名前付き型と構造的型システムの間の数学的対応関係を確立した。
  • 両モデルにおけるサブタイプ関係を分析し、名前付き型が型安全性および表現力に与える影響を浮き彫りにした。
  • NOOPが、ドメイン理論的洗練性を損なわずに、名前ベースの型の区別を追加することで構造的モデルを拡張できることを示した。

実験結果

リサーチクエスチョン

  • RQ1名前付き型ドメイン理論的OOPモデル(例:NOOP)は、構造的型モデルと形式的にどのように異なるか。
  • RQ2オブジェクト指向型システムにおける名前付き型サブタイプと構造的サブタイプの正確な数学的関係は何か。
  • RQ3ドメイン理論的モデルが完全に名前付き型を組み込みつつ、OOPの構造的性質を保持できるか。
  • RQ4名前付き型がドメイン理論的OOPモデルにおける型安全性および表現力に与える影響は何か。

主な発見

  • NOOPは、完全な名前付き型をドメイン理論的枠組みに統合し、明示的な名前ベースの型の区別を可能にした。
  • 論文は、名前付き型が純粋な構造的モデルでは達成できない表現力を追加することを確立した。
  • 比較により、構造的モデル(CardelliおよびCook)がNOOPがサポートするより広範なモデルのクラスに包含されること revealed された。
  • NOOPにおける名前付き型は、クラスの同一性や継承に関与する状況において、より正確なサブタイプ関係を可能にする。
  • 数学的枠組みにより、名前付き型と構造的型システムは互いに排他的ではなく、形式的埋め込みを通じて関係づけられることを示した。
  • NOOPは、Java や C# のような現実世界のOOP言語をドメイン理論的設定で推論する基盤を提供する。

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

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

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

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