Анықтамалық енгізу - Reference implementation

Ішінде бағдарламалық жасақтама жасау процесі, а анықтамалық енгізу (немесе сирек, үлгісін енгізу немесе модельді енгізу) - сәйкес спецификациядан барлық талаптарды орындайтын бағдарлама. Анықтама енгізу көбінесе а техникалық стандарт және оны кез-келген басқа жүзеге асырудың «дұрыс» мінез-құлқы деп санау керек екенін көрсетеді.

Мінездемелер мен мысалдар

Мысалы, алгоритмдердің сілтемелері криптографиялық алгоритмдер, көбінесе нәтижесі немесе кірісі болып табылады стандарттау процестер. Бұл функцияда олар көбіне арналған қоғамдық домен олармен бастапқы код сияқты жалпыға қол жетімді бағдарламалық жасақтама. Мысалдар бірінші CERN-тің httpd,[1] Жылан шифр, 64 нұсқалары,[2] және SHA-3.[3] The Openwall жобасы бірнеше алгоритмдердің тізімін олардың сілтемесімен жүргізеді бастапқы код қоғамдық доменде.[4]

Анықтамалық енгізу өндіріс сапасы болуы мүмкін немесе болмауы да мүмкін. Мысалы, Фраунгофер анықтамалық жүзеге асыру MP3 стандарт, әдетте, басқа жалпы іске асырулармен салыстыра бермейді, мысалы АҚЫС, дыбыс сапасын анықтайтын тыңдау тесттерінде.[дәйексөз қажет ] Қайта, CPython, анықтамалық іске асыру Python бағдарламалау тілі,[5] өндірісте кеңінен қолданылатын енгізу болып табылады.

Тестілеу

Тестілеу спецификацияның іске асырылуы мен өзара байланысы одан әрі жақсарады өндіріс Процессаралық тиімділік:

Анықтама енгізу дегеніміз, жалпы сипаттаманың нақты түсіндірмесі ретінде пайдаланылатын спецификацияның орындалуы (Бұл анықтама сәл керемет, бірақ жұмыс істейді). ... сәйкестік тест-жиынтығын әзірлеу кезінде әр интерфейстің кем дегенде бір салыстырмалы түрде сенімді орындалуы қажет (1) спецификациядағы қателіктерді немесе түсініксіздікті табу және (2) тест-жинақтаманың дұрыс жұмыс істеуін растау.[6]

Анықтамалық сипаттамалар:

  1. Техникалық сипаттамамен және сынақ жиынтығымен бір уақытта жасалған;
  2. Техникалық сипаттаманың іске асырылатындығын тексереді;
  3. Сынақ жиынтығын тексеруге мүмкіндік береді;
  4. Алтын стандарт ретінде қызмет етеді, оған қарсы басқа іске асыруларды өлшеуге болады;
  5. Жағдайларда спецификацияның мақсатын нақтылауға көмектеседі сәйкестік сынақтары жеткіліксіз[7]

Әдебиеттер тізімі

  1. ^ Вебтің дүниеге келуі Вебке лицензия беру cern.ch сайтында (2014)
  2. ^ libb64 sourceforge сайтында
  3. ^ KeccakReferenceAndOptimized-3.2.zip mainReference.c «Гуидо Бертони, Джоан Дэмен, Майкл Питерс және Гиллес Ван Асше құрастырған Keccak губкасы. Қосымша ақпарат, кері байланыс немесе сұрақтар алу үшін біздің веб-сайтқа жүгініңіз: http://keccak.noekeon.org/Implementation[тұрақты өлі сілтеме ] дизайнерлер осымен «іске асырушы» деп белгілейді. Заңға сәйкес мүмкін болғанша, іске асырушы осы файлдағы бастапқы кодқа қатысты барлық авторлық және сабақтас немесе көрші құқықтардан бас тартты. https://creativecommons.org/publicdomain/zero/1.0/ "
  4. ^ Қоғамдық доменде орналастырылған бастапқы код үзінділері мен рамалары қосулы openwall.info
  5. ^ Snow, Eric (26 қаңтар 2012). «PEP 421 - sys.implementation қосу». Python.org. Python бағдарламалық қамтамасыздандыру қоры. Архивтелген түпнұсқа 2017 жылғы 7 қаңтарда. Алынған 6 қаңтар 2017. Бірнеше жылдан бері Python-the-CPython (анықтамалық енгізу) арасындағы айырмашылық күшейіп келеді.
  6. ^ Дальчи, Эрик; Фонг, Элизабет; Goldfine, Alan (2003). GSC-IS анықтамалық енгізулеріне қойылатын талаптар. Ұлттық стандарттар және технологиялар институты, ақпараттық технологиялар зертханасы. [https://web.archive.org/web/20060928231404/http://xw2k.sdct.itl.nist.gov/smartcard/document/ref-imp51.pdf GSC-IS анықтамалық енгізулеріне қойылатын талаптар]
  7. ^ Карран, Патрик (2003). Сәйкестікті тексеру: салалық перспектива. Sun Microsystems. [1]