Эталонная реализация

(перенаправлено с «Референсная реализация»)

Эталонная реализация (от англ. reference implementation) (реже используется образец реализации (sample implementation) или модель реализации (model implementation)) — реализация программного обеспечения, точно соответствующая спецификации некоторого стандарта (например, сетевого протокола, алгоритма кодирования или языка программирования), либо созданная для демонстрации этой спецификации в действии.

Цели создания эталонной реализации:

  • доказать реализуемость и адекватность задачи предлагаемого стандарта;
  • предоставить пример для сравнения с последующими реализациями, внесения изменений и дополнений;
  • выявить и исправить недостатки изначальной спецификации.

Нижеследующий пример демонстрирует такую спецификацию:

Эталонная реализация есть, вообще говоря, реализация спецификации, используемая в качестве определенной интерпретации данной спецификации. В процессе разработки ... соответствующего тестового пакета необходима по крайней мере одна относительно надежная реализация каждого интерфейса для (1) обнаружения ошибок и двусмысленностей в самой спецификации, и (2) проверки корректности функционирования самого тестового пакета.[1]

Характеристики Эталонной Реализации: (1) Разработана одновременно со спецификацией и тестовым пакетом; (2) Демонстрирует, что спецификация реализуема; (3) Служит образцом при тестировании других реализаций тестовым пакетом; (4) Служит «Золотым Стандартом» при измерении других реализаций; (5) Улучшает наглядность спецификации, когда специально подготовленные тесты не подходят.[2]

Эталонная реализация может как служить, так и не служить эталоном качества продукта. Например, эталонная реализация стандарта MP3 от организации Fraunhofer обычно не выдерживает никакого сравнения с другими реализациями, как например, LAME, в тестах на прослушивание, которые направлены на определение качества звука[источник не указан 3727 дней].

Эталонная реализация может как быть промышленно применимым продуктом (BIND, ISC DHCPD), так и служить чистым «доказательством концепции». Эталонные реализации также могут быть запрещены для коммерческого использования лицензионным соглашением. Например, сервер приложений GlassFish Server Open Source Edition в учебной литературе упоминается как один из наилучших продуктов для 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. Архивированная копия. Дата обращения: 22 июля 2006. Архивировано 28 сентября 2006 года.  (англ.)
  2. Curran, Patrick (2003). Conformance Testing: An Industry Perspective. Sun Microsystems. Архивированная копия. Дата обращения: 3 марта 2012. Архивировано 3 марта 2012 года.  (англ.)