コンテンツにスキップ

「リファレンス実装」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m編集の要約なし
 
(21人の利用者による、間の24版が非表示)
1行目: 1行目:
{{出典の明記|date=2021年6月}}
'''リファレンス実装'''(-じっそう、''reference implementation'')は、なんらかの機能を実現する[[ハードウェア]]または[[ソフトウェア]]であり、他者がそれを参考にして独自に実装することを助ける目的で作られたものを言う。
'''リファレンス実装'''(リファレンスじっそう、{{lang-en-short|reference implementation}})は、なんらかの機能を実現する[[ハードウェア]]または[[ソフトウェア]]であり、他者がそれを参考にして独自に実装することを助ける目的で作られたものを言う。'''参考実装'''(さんこうじっそう)とも呼ばれる


== 概要 ==
== 概要 ==
ハードウェアやソフトウェアの仕様は何らかの動く実例があった方が理解しやすい。リファレンス実装の一般的な目的は、開発者に対してその仕様を少しでも知ってもらうことである。純粋に学究的目的で提供されることもあるが、より実用的なリファレンス実装の場合は市場での知名度を上げることを目的としており、場合によってはそのリファレンス実装を買ってもらうか、リファレンス実装を提供したハードウェアもしくはソフトウェアを商用に実装してもらうことが狙いである。
ハードウェアやソフトウェアの仕様は何らかの動く実例があった方が理解しやすい。リファレンス実装の一般的な目的は、開発者に対してその仕様を少しでも知ってもらうことである。純粋に学究的目的で提供されることもあるが、より実用的なリファレンス実装の場合は市場での知名度を上げることを目的としており、場合によってはそのリファレンス実装を買ってもらうか、リファレンス実装を提供したハードウェアもしくはソフトウェアを商用に実装してもらうことが狙いである。


:リファレンス実装は一般にある仕様を実装することによって定義を決定するのに使用される。認証試験を開発する際に以下の点で信用できる実装が各インターフェイスに必須である。(1)仕様の間違いや不正確さを発見するため。(2)試験プログラムにバグがないことを確認するため。<ref>Dalci, Eric; Fong, Elizabeth; Goldfine, Alan (2003). ''Requirements for GSC-IS Reference Implementations''. National Institute of Standards and Technology, Information Technology Laboratory. [http://xw2k.sdct.itl.nist.gov/smartcard/document/ref-imp51.pdf]</ref>
:リファレンス実装は一般にある仕様を実装することによって定義を決定するのに使用される。認証試験を開発する際に以下の点で信用できる実装が各インターフェイスに必須である。(1)仕様の間違いや不正確さを発見するため。(2)試験プログラムにバグがないことを確認するため。<ref>Dalci, Eric; Fong, Elizabeth; Goldfine, Alan (2003). ''Requirements for GSC-IS Reference Implementations''. National Institute of Standards and Technology, Information Technology Laboratory. [http://xw2k.sdct.itl.nist.gov/smartcard/document/ref-imp51.pdf]</ref>


:リファレンス実装の特徴は以下の通りである。
:リファレンス実装の特徴は以下の通りである。
11行目: 12行目:
:* テストプログラム自体をテストすることができる。
:* テストプログラム自体をテストすることができる。
:* 他の実装との比較基準とすることができる。
:* 他の実装との比較基準とすることができる。
:* テストプログラムでは評価できない仕様の詳細を明確化できる。<ref>Curran, Patrick (2003). ''Conformance Testing: An Industry Perspective''. Sun Microsystems. [http://vote.nist.gov/speeches/1%20-%20Specification%20Panel/6%20-%20Curran.pdf]</ref>
:* テストプログラムでは評価できない仕様の詳細を明確化できる。<ref>Curran, Patrick (2003). ''Conformance Testing: An Industry Perspective''. Sun Microsystems. [http://vote.nist.gov/speeches/1%20-%20Specification%20Panel/6%20-%20Curran.pdf]</ref>


==ハードウェアでの例==
== ハードウェアでの例 ==
nVIDIAやAMDは自社の[[Graphics Processing Unit|GPU]]を拡販するために、グラフィックスカードメーカーに対してリファレンス実装を提供し、グラフィックスカード開発に協力している。
[[NVIDIA]][[アドバンスト・マイクロ・デバイセズ|AMD]]は自社の[[Graphics Processing Unit|GPU]]を拡販するために、グラフィックスカードメーカーに対してリファレンス実装を提供し、グラフィックスカード開発に協力している。


==ソフトウェアでの例==
== ソフトウェアでの例 ==
リファレンス実装は製品レベルの品質でない場合もある。[[フラウンホーファー協会|フラウンホーファー]]の[[MP3]]のリファレンス実装は[[LAME]]のような他の実装に比較して品質が低い。一方[[X Window System]]の[[X.Org Foundation]]によるリファレンス実装は十分実用的であるだけでなく、現在の[[オープンソース]]の[[UNIX]]系[[オペレーティングシステム]]でも使われ続けている(これは、X.Org が人気のあった[[XFree86]]から派生させてリファレンス実装を宣言したことに端を発している)。
リファレンス実装は製品レベルの品質でない場合もある。[[フラウンホーファー協会|フラウンホーファー]]の[[MP3]]のリファレンス実装は[[LAME]]のような他の実装に比較して品質が低い。一方[[X Window System]]の[[X.Org Foundation]]によるリファレンス実装は十分実用的であるだけでなく、現在の[[オープンソース]]の[[UNIX]]系[[オペレーティングシステム]]でも使われ続けている(これは、X.Org が人気のあった[[XFree86]]から派生させてリファレンス実装を宣言したことに端を発している)。


リファレンス実装は商用ライセンス利用を防ぐ目的で使用されることもある。[[サン・マイクロシステムズ]]の[[Java Platform, Enterprise Edition|Java EE]][[アプリケーションサーバ]]のリファレンス実装は、Java EEを学ぶ目的では使用可能であるが、製品として商用利用することはできないライセンスになってい。しかし、サンのアプリケーションサーバ製品はリファレンス実装と全く同じ機能を有していて、ライセンスだけが異なってい
リファレンス実装は商用ライセンス利用を防ぐ目的で使用されることもある。[[サン・マイクロシステムズ]]の[[Jakarta EE|Java EE]][[アプリケーションサーバ]]のリファレンス実装は、Java EEを学ぶ目的では使用可能であるが、製品として商用利用することはできないライセンスになってい。しかし、サンのアプリケーションサーバ製品はリファレンス実装と全く同じ機能を有していて、ライセンスだけが異なってい


== 脚注 ==
== 脚注 ==
{{Reflist}}
{{Reflist}}


[[Category:工業規格|りふあれんすしつそう]]
{{デフォルトソート:りふあれんすしつそう}}
[[Category:製造|りふあれんすしつそう]]
[[Category:工業規格]]
[[Category:製造]]

[[Category:ソフトウェア工学用語]]
[[ca:Implementació de referència]]
[[de:Referenzimplementierung]]
[[en:Reference implementation (computing)]]
[[pt:Implementação de referência]]
[[vi:Cài đặt tham khảo]]

2021年6月15日 (火) 07:57時点における最新版

リファレンス実装(リファレンスじっそう、: reference implementation)は、なんらかの機能を実現するハードウェアまたはソフトウェアであり、他者がそれを参考にして独自に実装することを助ける目的で作られたものを言う。参考実装(さんこうじっそう)とも呼ばれる。

概要

[編集]

ハードウェアやソフトウェアの仕様は何らかの動く実例があった方が理解しやすい。リファレンス実装の一般的な目的は、開発者に対してその仕様を少しでも知ってもらうことである。純粋に学究的目的で提供されることもあるが、より実用的なリファレンス実装の場合は市場での知名度を上げることを目的としており、場合によってはそのリファレンス実装を買ってもらうか、リファレンス実装を提供したハードウェアもしくはソフトウェアを商用に実装してもらうことが狙いである。

リファレンス実装は一般にある仕様を実装することによって定義を決定するのに使用される。認証試験を開発する際に以下の点で信用できる実装が各インターフェイスに必須である。(1)仕様の間違いや不正確さを発見するため。(2)試験プログラムにバグがないことを確認するため。[1]
リファレンス実装の特徴は以下の通りである。
  • 仕様およびテストと並行して開発される。
  • 仕様が実装可能かどうか確認するのに使われる。
  • テストプログラム自体をテストすることができる。
  • 他の実装との比較基準とすることができる。
  • テストプログラムでは評価できない仕様の詳細を明確化できる。[2]

ハードウェアでの例

[編集]

NVIDIAAMDは自社のGPUを拡販するために、グラフィックスカードメーカーに対してリファレンス実装を提供し、グラフィックスカード開発に協力している。

ソフトウェアでの例

[編集]

リファレンス実装は製品レベルの品質でない場合もある。フラウンホーファーMP3のリファレンス実装はLAMEのような他の実装に比較して品質が低い。一方X Window SystemX.Org Foundationによるリファレンス実装は十分実用的であるだけでなく、現在のオープンソースUNIXオペレーティングシステムでも使われ続けている(これは、X.Org が人気のあったXFree86から派生させてリファレンス実装を宣言したことに端を発している)。

リファレンス実装は商用ライセンス利用を防ぐ目的で使用されることもある。サン・マイクロシステムズJava EEアプリケーションサーバのリファレンス実装は、Java EEを学ぶ目的では使用可能であるが、製品として商用利用することはできないライセンスになっていた。しかし、サンのアプリケーションサーバ製品はリファレンス実装と全く同じ機能を有していて、ライセンスだけが異なっていた。

脚注

[編集]
  1. ^ Dalci, Eric; Fong, Elizabeth; Goldfine, Alan (2003). Requirements for GSC-IS Reference Implementations. National Institute of Standards and Technology, Information Technology Laboratory. [1]
  2. ^ Curran, Patrick (2003). Conformance Testing: An Industry Perspective. Sun Microsystems. [2]