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

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

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

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

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

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

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

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

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

Эталонная реализация может как быть промышленно применимым продуктом (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 года.  (англ.)