ФЕДЕРАЛЬНОЕ
ГОСУДАРСТВЕННОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ
"ВСЕРОССИЙСКИЙ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ
МЕТРОЛОГИЧЕСКОЙ СЛУЖБЫ" (ФГУП "ВНИИМС")
РЕКОМЕНДАЦИЯ
ГОСУДАРСТВЕННАЯ
СИСТЕМА
ОБЕСПЕЧЕНИЯ ЕДИНСТВА ИЗМЕРЕНИЙ
ТИПОВАЯ МЕТОДИКА АТТЕСТАЦИИ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ СРЕДСТВ ИЗМЕРЕНИЙ
МИ 2955-2010
Москва
2010
ПРЕДИСЛОВИЕ
РАЗРАБОТАНА Федеральным государственным унитарным предприятием «Всероссийский научно - исследовательский институт метрологической службы» (ФГУП «ВНИИМС»)
ИСПОЛНИТЕЛИ Стефанов Ю.В., (руководитель темы), Кудеяров Ю.А., д.ф.-м.н., профессор, Спроге А.Г., Стефанов А.Ю.
УТВЕРЖДЕНА ФГУП «ВНИИМС» 24 мая 2010 г.
ЗАРЕГИСТРИРОВАНА ФГУП «ВНИИМС» 24 мая 2010 г.
ВЗАМЕН МИ 2955-2005
СОДЕРЖАНИЕ
РЕКОМЕНДАЦИЯ |
|
Государственная система обеспечения единства измерений |
|
Типовая методика аттестации программного обеспечения средств измерений |
МИ 2955-2010 |
1.1. Настоящая рекомендация разработана в целях реализации требований к программному обеспечению (далее - ПО) средств измерений (далее - СИ) в соответствии со статьей 9 Федерального закона Российской Федерации от 26 июня 2008 г. № 102-ФЗ «Об обеспечении единства измерений», Порядком проведения испытаний стандартных образцов или средств измерений в целях утверждения типа и Порядком выдачи свидетельств об утверждении типа стандартных образцов или типа средств измерений, установления и изменения срока действия указанных свидетельств и интервала между поверками средств измерений, утвержденных приказом Минпромторга России от 30 ноября 2009 г. № 1081, национальным стандартом ГОСТ Р 8.654 и другими нормативными документами, указанными в разделе 2 настоящей рекомендации.
1.2. Рекомендация содержит описание типовой методики аттестации ПО СИ.
1.3. Рекомендация распространяется на:
- ПО СИ, в том числе измерительных, информационно-измерительных систем;
- ПО автоматизированных систем управления, функционирующих с использованием СИ или компонентов измерительных систем;
- ПО контроллеров, вычислительных блоков, не входящих в состав измерительных систем, а также технических систем и устройств с измерительными функциями, осуществляющих обработку и представление измерительной информации.
1.4. Далее по тексту аббревиатура ПО СИ обозначает программное обеспечение, указанное в п. 1.3 настоящей рекомендации.
В рекомендации использованы ссылки на следующие нормативные документы:
ГОСТ Р 8.654-2009 ГСИ. Требования к программному обеспечению средств измерений. Основные положения
ГОСТ Р 8.596-2002 ГСИ. Метрологическое обеспечение измерительных систем. Основные положения
ГОСТ Р ИСО/МЭК 17025-2006 Общие требования к компетентности испытательных и калибровочных лабораторий
ГОСТ Р ИСО 5725-1-2002 Точность (правильность и прецизионность) методов и результатов измерений. Часть I. Основные положения и определения
ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению
ГОСТ 19.202-78 Единая система программной документации. Спецификация. Требования к содержанию и оформлению
ГОСТ 19.401-78 Единая система программной документации. Текст программы. Требования к содержанию и оформлению
ГОСТ 19.502-78 Единая система программной документации. Описание применения. Требования к содержанию и оформлению
ГОСТ 19.701-90 (ИСО 5807-85) Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения
В настоящей рекомендации применены термины и определения по ГОСТ Р 8.654, а также следующие термины с соответствующими определениями:
3.1. опорное («эталонное») программное обеспечение: Программное обеспечение, используемое для сравнения с аттестуемым программным обеспечением и отвечающее высшим требованиям к его вычислительным и функциональным характеристикам, подтвержденным (в ряде случаев независимыми методами) при его неоднократном тестировании и применении.
3.2. тестирование программного обеспечения: Техническая операция, состоящая в определении одной или нескольких характеристик программного обеспечения в соответствии со специальной методикой (анализ документации, функциональные проверки программы при контролируемых условиях и т.п.) [1]. |
Примечание Тестирование программного обеспечения является частью процедуры его аттестации.
3.3. идентификационные данные (признаки) программного обеспечения: Однозначно связанная с конкретным программным обеспечением последовательность символов (букв, цифр и т.п.), например, контрольная сумма.
3.4. исполняемый код: Файл, установленный в вычислительном компоненте СИ, электронном устройстве или его части (ПЗУ, жесткий диск и т.д.). Микропроцессор интерпретирует содержимое файла (код) и преобразует его в определенные логические, арифметические, декодирующие операции или операции передачи данных [1]. |
4.1. Под аттестацией ПО СИ понимается исследование программного обеспечения в целях определения его характеристик, свойств и идентификационных данных (признаков) и подтверждения соответствия предъявляемым к нему требованиям (ГОСТ Р 8.654. п. 1.1).
4.2. Аттестация ПО СИ может быть как составной частью испытаний в целях утверждения типа СИ серийного или единичного производства, так и проводиться от них отдельно.
4.3. Аттестацию ПО СИ проводят органы (организации), уполномоченные на проведение аттестации ПО СИ федеральным органом исполнительной власти, осуществляющим функции по оказанию государственных услуг в области обеспечения единства измерений (далее - уполномоченный орган).
4.4. При проведении аттестации ПО СИ должна быть обеспечена конфиденциальность соответствующей информации.
4.5. При аттестации ПО СИ должны использоваться методы определения и оценки его характеристик, основанные на международных [1, 2] и отечественных правилах и рекомендациях, которые позволяют с достаточной степенью достоверности установить их соответствие требованиям нормативной документации, указанной в разделе 2 настоящей рекомендации, и определить действительные значения этих характеристик.
4.6. Характеристики ПО СИ можно разбить на две группы. К первой группе относят характеристики, которые в соответствии с приказом Минпромторга России от 30 ноября 2009 г. № 1081 должны быть внесены в описание типа СИ, а именно:
идентификационные данные (признаки);
степень влияния на метрологические характеристики (MX) СИ;
уровень защиты от непреднамеренных и преднамеренных изменений.
Ко второй группе относятся характеристики, которые не вносятся в описание типа СИ, но без оценки и проверки которых невозможно в полной мере установить действительные значения характеристик ПО в целом, в том числе, значения характеристик, относящихся к первой группе. К таким характеристикам относятся:
степень соответствия ПО сопровождающей документации;
разделение на метрологически значимую и незначимую части;
наличие или отсутствие защищенных интерфейсов;
другие характеристики, согласованные между Заказчиком аттестации и ее Исполнителем.
5.1. Для проведении аттестации на основе типовой методики аттестации, изложенной в настоящей рекомендации, разрабатывается методика аттестации, содержащая детальное описание всех действий, выполняемых в процессе аттестации. Методика аттестации ПО, как правило, является составной частью программы испытаний СИ в целях утверждения типа и должна включать следующие основные этапы:
определение перечня исследуемых характеристик и параметров, исходных данных и критериев, которым должны удовлетворять результаты, полученные аттестуемым ПО;
проведение аттестации в соответствии с методикой аттестации и получение результатов анализа документации и функциональных проверок аттестуемого ПО;
обработка результатов аттестации и их оформление в виде протокола аттестации.
5.2. Методика аттестации разрабатывается для каждого отдельного ПО СИ с учетом его назначения и функциональных особенностей.
5.3. В методике аттестации
приводится перечень исследуемых характеристик, свойств и параметров ПО, необходимых исходных данных и опорных («эталонных») ПО, а также критерии, позволяющие производить оценку характеристик аттестуемого ПО;
определяются и описываются методы аттестации, которые должны обеспечить проверку всех основных функций аттестуемого ПО, а также его соответствие требованиям к ПО СИ;
описывается последовательность действий при проведении процедуры аттестации ПО.
5.4. Результаты аттестации ПО признаются положительными, если при анализе документации и проведении функциональных проверок, предусмотренных методикой аттестации, устанавливается соответствие аттестуемого ПО требованиям ГОСТ Р 8.654 и другой нормативной документации, приведенной в разделе 2 настоящей Рекомендации.
5.5. По результатам аттестации и установления идентификационных данных (признаков), степени влияния ПО на MX СИ и уровня защиты ПО СИ составляется протокол аттестации, подписанный непосредственными исполнителями аттестации и утвержденный руководителем уполномоченного органа.
6.1.1. Представление всей необходимой документации на аттестацию в соответствии с требованиями ГОСТ Р 8.654, а также стандартов Единой системы программной документации (ЕСПД) и других документов, указанных в разделе 2 настоящей Рекомендации, является необходимым условием ее проведения.
6.1.2. В соответствии с требованиями указанных нормативных документов проверяется наличие, достаточность и правильность представленной документации.
6.1.3. В отдельных случаях при проведении аттестации ПО СИ его документацию рекомендуется дополнять текстами программ или их фрагментами в соответствии с ГОСТ 19.401. При этом может быть заключен договор о соблюдении конфиденциальности.
6.1.4. Минимальный набор документов, сопровождающих ПО СИ при его аттестации, рекомендуется представлять в следующем составе:
техническое задание по ГОСТ 19.201;
спецификация по ГОСТ 19.202;
описание применения по ГОСТ 19.502;
схемы алгоритмов, программ, данных и систем по ГОСТ 19.701;
руководство пользователя.
6.1.5. В перечисленных документах проверяется наличие следующей информации:
обозначение ПО, включающее в себя его наименование, обозначение его версии или версий его модулей;
описание назначения ПО, его структуры и выполняемых функций (структура ПО может быть представлена в виде одного или нескольких взаимосвязанных модулей, реализующих функции ПО, с учетом его разделения, при этом описание структуры ПО может быть осуществлено в графическом виде с пояснениями и/или в текстовой форме);
описание методов и способов идентификации ПО, а также его метрологически значимых частей, функций и параметров, т.е. проверяется наличие информации о методе (алгоритме) идентификации ПО, способах идентификации ПО в соответствии с принятым методом, о системе кодификации номера версии;
описание реализованных в ПО расчетных алгоритмов, а также их блок-схемы, т.е. проверяется описание логических схем алгоритмов, функций, реализуемых алгоритмами ПО, а также всех величин, рассчитываемых с их помощью, с их математическим представлением в виде формул; проверяются также данные о степени округления при расчетах (точность алгоритмов);
описание интерфейсов пользователя, всех меню и диалогов;
описание интерфейсов связи ПО для передачи, обработки и хранения данных в том числе посредством открытых или закрытых сетей связи, т.е. проверяется наличие информации о методе связи СИ и ПО, о данных, получаемых от и передаваемых в СИ программным обеспечением, наличие описания всех аппаратных и программных компонент СИ, а также описания исполняемых файлов (название, размер в мегабайтах));
описание реализованных методов защиты ПО и данных, т.е. проверяется описание реализованных методов (авторизация пользователя, журнал событий, кодирование данных и т.д.), защиты ПО и данных от случайных (непреднамеренных) и преднамеренных изменений и искажений, а также наличие в документации описания методов фиксации сообщений об ошибках;
описание способов хранения измеренных данных на встроенном, удаленном или съемном носителе;
описание требуемых системных и аппаратных средств, если эта информация не приведена в руководстве пользователя.
6.1.6. Результаты проверки, в том числе выявленные несоответствия, полученные при анализе документации ПО, заносятся в протоколы аттестации.
6.1.7. Перечень документов, сопровождающих ПО, объем и методы проверки документации могут корректироваться соглашением между Исполнителем и Заказчиком аттестации ПО.
6.2.1. Разделение ПО СИ проводят в целях выделения в составе ПО СИ метрологически значимой части, т.е. той его части, которая подлежит аттестации.
6.2.2. К метрологически значимой части ПО СИ относятся программы и программные модули, выполняющие функции сбора, передачи, обработки, хранения и представления измерительной информации, а также параметры, характеризующие тип СИ и внесенные в ПО.
6.2.3. После утверждения типа СИ метрологически значимая часть ПО не должна изменяться. Любая модификация метрологически значимой части ПО приводит к изменению его идентификационных данных (признаков) и к необходимости повторной аттестации ПО.
6.2.4. Метрологически не значимая часть ПО аттестации не подлежит. Ее модификация может быть выполнена без уведомления уполномоченных органов, если изменение этой части не проводит к изменению идентификационных данных (признаков) метрологически значимой части ПО СИ.
6.2.5. Если разделение ПО СИ не проведено, то все ПО рассматривается как метрологически значимое.
6.2.6. Разделение ПО на метрологически значимые и не значимые части может быть проведено как на «низком», так и на «высоком» уровнях.
«Низкий» уровень разделения выполняется независимо от операционной системы внутри кода ПО (на уровне языка программирования). Такой уровень разделения ПО может быть реализован как в СИ со встроенным ПО, так и в СИ на основе персонального компьютера.
«Высокий» уровень разделения означает, что оно реализуется в виде независимых объектов операционной системы (например, части ПО содержатся в отдельных файлах операционной системы). «Высокий» уровень разделения возможен только в СИ на основе универсального компьютера.
6.2.7. На основе анализа документации и проведения функциональных проверок определяется правильность разделения ПО СИ или устанавливается отсутствие разделения. При этом проверяется, что к метрологически значимой части ПО относятся:
программы и программные модули, принимающие участие в обработке (расчетах) результатов измерений или влияющие на них;
программы и программные модули, осуществляющие представление измерительной информации, ее хранение и передачу, идентификацию и обновление (загрузку) ПО, защиту ПО и данных;
параметры ПО СИ, участвующие в вычислениях и влияющие на результат измерений;
компоненты защищенного интерфейса для обмена данными между метрологически значимыми и незначимыми частями ПО СИ.
6.2.8. В случаях, когда проводятся испытания сложных измерительных систем, систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, правильность разделения ПО СИ дополнительно проверяется при помощи анализа его исходного кода.
6.2.9. Сведения о разделении ПО или об его отсутствии заносятся в протокол аттестации.
6.3.1. Установление идентификационных данных (признаков) ПО и проверку методов его идентификации проводят в целях обеспечения проведения идентификации ПО СИ при поверке (калибровке) СИ. Идентификация ПО СИ, осуществляемая при поверке (калибровке) СИ, представляет собой проверку соответствия ПО СИ тому ПО, которое было зафиксировано (документировано) при испытаниях в целях утверждения типа СИ, с последующим обеспечением защиты ПО от несанкционированного доступа во избежание искажений результатов измерений.
6.3.2. Установление идентификационных данных (признаков) ПО и проверку методов его идентификации проводят при аттестации ПО СИ на основе анализа документации и проведения функциональных проверок. При этом для представителей уполномоченных органов должен быть обеспечен доступ к исполняемому коду ПО, поскольку без такого доступа не могут быть установлены идентификационные данные (признаки) ПО.
6.3.3. Доступ к исполняемому коду может быть организован с помощью стандартных интерфейсов связи (RS 232, USB и т.п.) или с помощью иных, описанных в документации, интерфейсов связи в комплекте с необходимым набором аппаратно-программных средств.
6.3.4. На основе анализа документации определяют, какими из следующих способов осуществляется идентификация ПО СИ:
с помощью интерфейса пользователя (например, по команде пользователя на дисплее СИ);
в процессе штатного функционирования ПО (например, на дисплее СИ через определенные интервалы времени);
с помощью интерфейса связи (например, на экране персонального компьютера, подключенного к СИ).
6.3.5. При функциональной проверке способов идентификации ПО СИ убеждаются в том, что они соответствуют тем способам идентификации, которые описаны в документации.
6.3.6. В случае если идентификация может быть осуществлена несколькими способами, проверяется независимость идентификационных данных (признаков) от способа идентификации.
6.3.7. К идентификационным данным (признакам) относятся:
наименование ПО СИ;
номер версии метрологически значимой части ПО СИ;
контрольная сумма метрологически значимой части ПО СИ.
6.3.8. На основе анализа документации и проведения функциональных проверок определяют реализованные в ПО СИ методы идентификации ПО. Идентификация ПО СИ может быть реализована следующими методами:
с помощью ПО СИ или аппаратно-программных средств, разработанных организацией - производителем СИ (ПО СИ);
с использованием специальных аттестованных аппаратно-программных средств и/или сертифицированного ПО.
6.3.9. Проверяются наличие и достаточность идентификационных данных (признаков) ПО СИ для его однозначной идентификации.
6.3.10. Проверяется, что расчет контрольной суммы производится для метрологически значимой части ПО СИ. При этом реализованный в ПО СИ алгоритм расчета контрольной суммы также относится к метрологически значимой части ПО СИ.
6.3.11. В случае, когда идентификация ПО СИ осуществляется с использованием специальных аттестованных аппаратно-программных средств и/или сертифицированного ПО, расчет контрольной суммы метрологически значимой части ПО СИ производит уполномоченный орган.
6.3.12. Организация-производитель СИ (ПО СИ) вправе использовать для идентификации ПО большее количество идентификационных данных (признаков), чем это указано в п. 6.3.7 настоящей Рекомендации. В этом случае проверяется, что структура идентификационных данных (признаков) ПО позволяет однозначно выделить идентификационные данные (признаки), относящиеся к метрологически значимой части ПО.
6.3.13. Устанавливают и рассчитывают (см. п. 6.3.11.) идентификационные данные (признаки) ПО СИ, подлежащие внесению в описание типа СИ.
6.3.14. В случаях, когда проводятся испытания сложных измерительных систем, систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, дополнительно проводят проверку методов и способов идентификации ПО СИ при помощи анализа его исходного кода.
6.3.15. Сведения об идентификационных данных (признаках) ПО СИ и методах его идентификации вносят в протокол аттестации.
6.4.1. Под проверкой структуры ПО понимают:
проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя;
проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи;
проверку правильности взаимодействия между метрологически значимой и незначимой частями ПО.
6.4.2. Проверка отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя.
6.4.2.1. Анализом документации на ПО убеждаются в том, что она включает в себя:
полный перечень всех команд интерфейса пользователя вместе с изложением способа их организации (меню, пункты меню и т.д.);
описание их назначения и воздействия на функции СИ и/или данные.
6.4.2.2. Проведением функциональных проверок всех команд интерфейса пользователя ПО СИ убеждаются в их соответствии описанным в документации. Проверяется однозначное назначение каждой команды для инициирования функции или изменения данных в соответствии с представленной документацией.
6.4.2.3. С помощью функциональных проверок убеждаются, что команды и данные, введенные через интерфейс пользователя ПО СИ, не оказывают влияние на достоверность результатов измерений. При этом проверяют:
возможность обнаружения программным обеспечением СИ неправильно введенных через интерфейс пользователя данных (например, данных, превышающих установленные ограничения) и выдачу соответствующего предупреждения;
невозможность изменения значений параметров ПО СИ, участвующих в вычислениях и влияющих на результат измерений, с помощью команд и данных, вводимых через интерфейс пользователя во время проведения измерений;
невозможность искажения значений измеренных данных, хранящихся в памяти СИ, с помощью команд и данных, вводимых через интерфейс пользователя.
6.4.2.4. С учетом способа организации интерфейса пользователя проверяют, что команды или их комбинации, не описанные в документации, не оказывают влияния на функции метрологически значимой части ПО СИ и данные.
6.4.2.5. С помощью визуального осмотра и анализа элементов, находящихся внутри корпуса СИ, убеждаются в отсутствии элементов, неописанных в документации на СИ, способных быть частью интерфейса пользователя и оказывать влияние на функции метрологически значимой части ПО СИ, данные или команды интерфейса пользователя (переключатели, свободные контакты на печатной плате и т.д.).
6.4.2.6. В случаях, когда проводятся испытания сложных измерительных систем, систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя ПО СИ, дополнительно проводят при помощи анализа его исходного кода.
6.4.3. Проверка отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи.
6.4.3.1. Анализом документации на ПО убеждаются в том, что она включает в себя:
полный перечень всех интерфейсов связи, используемых ПО СИ (RS-232, USB и т.п.);
полный перечень команд каждого интерфейса связи вместе с изложением способа их организации;
описание их назначения и воздействия на функции СИ и/или данные.
6.4.3.2. Проведением функциональных проверок всех команд интерфейсов связи, используемых ПО СИ, убеждаются в их соответствии описанным в документации. Проверяется однозначное назначение каждой команды для инициирования функции или изменения данных в соответствии с представленной документацией.
6.4.3.3. С помощью функциональных проверок убеждаются, что команды и данные, переданные через интерфейсы связи, не оказывают влияние на достоверность результатов измерений СИ. При этом проверяют:
возможность обнаружения программным обеспечением СИ неправильно переданных через интерфейсы связи данных (например, данных, превышающих установленные ограничения);
невозможность изменения значений параметров ПО СИ, участвующих в вычислениях и влияющих на результат измерений, с помощью команд и данных, переданных через интерфейсы связи во время проведения измерений;
невозможность искажения значений измеренных данных, хранящихся в памяти СИ, с помощью команд и данных, переданных через интерфейсы связи.
6.4.3.4. С помощью специальных аттестованных аппаратно-программных средств и/или сертифицированного ПО проверяют, что недокументированные как команды сигналы или коды, переданные через интерфейсы связи, не оказывают влияние на функции метрологически значимой части ПО СИ и данные.
6.4.3.5. Проверяют, что команды, передаваемые (получаемые) через интерфейсы связи метрологически незначимой частью ПО СИ, не искажают команды и данные, передаваемые (получаемые) через интерфейсы связи метрологически значимой частью ПО СИ.
6.4.3.6. В случае, когда в ПО СИ используется часть интерфейсов связи СИ (например, в случае СИ на основе универсального компьютера), с помощью специальных аттестованных аппаратно-программных средств и/или сертифицированного ПО проверяют, что сигналы или коды, переданные через неиспользуемые интерфейсы связи, не оказывают влияние на функции метрологически значимой части ПО СИ и данные.
6.4.3.7. Проверяют, что ПО, использующее интерфейс связи СИ для передачи (получения) команд и данных метрологически значимой части ПО СИ (например, ПО, разработанное организацией-производителем СИ (ПО СИ) и используемое для обновления ПО СИ), аттестовано в установленном порядке.
6.4.3.8. С помощью визуального осмотра и анализа элементов, находящихся внутри корпуса СИ, убеждаются в отсутствии элементов, не описанных в документации на СИ, способных быть частью интерфейсов связи и оказывать влияние на функции метрологически значимой части ПО СИ, данные или команды интерфейсов связи.
6.4.3.9. В случаях, когда проводятся испытания сложных измерительных систем, систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, проверку отсутствия недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи, дополнительно проводят при помощи анализа его исходного кода.
6.4.4. Проверка правильности взаимодействия между метрологически значимой и незначимой частями ПО.
6.4.4.1. Функциональными проверками убеждаются, что обмен данными между метрологически значимой и незначимой частями ПО СИ проходит через защищенный интерфейс. Проверяется однозначное назначение каждого набора команд, переданного через защищенный интерфейс, для инициирования функции или изменения данных в метрологически значимой части ПО СИ в соответствии с представленной документацией.
6.4.4.2. Проверяют, что все взаимодействия между метрологически значимой и незначимой частями ПО СИ и прохождение данных не оказывают искажающее воздействие на метрологически значимую часть ПО и данные.
6.4.4.3. Убеждаются, что взаимодействия между метрологически значимой и незначимой частями ПО СИ, не описанные в документации, не оказывают влияния на метрологически значимую часть ПО СИ и данные.
6.4.4.4. В случаях, когда проводятся испытания сложных измерительных систем, систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, проверку правильности взаимодействия между метрологически значимой и незначимой частями ПО, дополнительно проводят при помощи анализа его исходного кода.
6.4.5. Сведения об отсутствии недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейс пользователя, об отсутствии недопустимого влияния на метрологически значимую часть ПО и данные, осуществляемого через интерфейсы связи, о правильности взаимодействия между метрологически значимой и незначимой частями ПО вносят в протокол аттестации.
6.5.1. Оценка влияния ПО на MX СИ определяется методикой аттестации и может включать в себя:
анализ ПО и его алгоритмов (например, адекватность измерительной задаче, их сложность и возможность использования при разработке опорного («эталонного») ПО и т.д.);
определение критерия оценки влияния ПО на метрологические характеристики СИ (например, значение вклада ПО в суммарную погрешность (неопределенность) СИ);
выбор (или разработка) опорного («эталонного») ПО;
выбор (определение) исходных данных и/или их получение методом генерации или какими-либо другими методами;
получение результатов обработки исходных данных в тестируемом ПО (получение тестовых результатов);
получение опорных («эталонных») результатов;
получение оценки влияния ПО на метрологические характеристики СИ посредством обработки результатов тестирования (сравнения тестовых результатов с опорными («эталонными»);
дополнительные исследования свойств, параметров и характеристик используемых алгоритмов (область устойчивости, время, затрачиваемое на обработку результатов измерений и т.п.).
6.5.2. Основными методами, применяемыми при оценке влияния ПО на MX СИ, являются:
сравнительные испытания с применением опорного («эталонного») ПО;
в отсутствие опорного («эталонного») ПО - сравнительные испытания с использованием моделей исходных данных [3, 4], либо с применением метода генерации «эталонных» данных [5, 6];
при наличии нескольких ПО сопоставимого уровня вычислительных возможностей и в отсутствие опорного («эталонного») ПО - сличения, подобные сличению эталонных СИ;
испытания на основе анализа исходного кода ПО, а также комбинации указанных методов.
Метод оценки влияния ПО на MX СИ выбирают с учетом наличия или возможности разработки того или иного вида опорного («эталонного») ПО, а также возможности применения указанных методов в каждом конкретном случае.
6.5.3. Сравнительное тестирование с применением опорного («эталонного») ПО.
6.5.3.1. Данный метод тестирования применяется при наличии опорного («эталонного») ПО, с помощью которого могут быть идентично воспроизведены функции аттестуемого ПО.
6.5.3.2. В качестве опорного («эталонного») ПО может быть применено:
аттестованное ПО СИ, функциональное назначение которого аналогично тестируемому ПО;
специально разработанное ПО с функциями, идентичными тестируемому;
ПО для решения задач технических вычислений (например, электронные таблицы, ПО для математических и статистических вычислений и т.д.).
6.5.3.3. К разработке опорного («эталонного») ПО прибегают в тех случаях, когда аттестуемое ПО является не очень сложным, а его алгоритмы достаточно просты. Это означает, что затраты на разработку опорного («эталонного») ПО должны быть сопоставимыми со стоимостью работ по аттестации ПО. Данный метод позволяет максимально учитывать особенности аттестуемого ПО, а также MX соответствующего СИ, и может быть рекомендован как основной метод при аттестации встроенного ПО.
6.5.3.4. Разрабатываемое опорное («эталонное») ПО может содержать только метрологически значимые функции и параметры. В некоторых случаях могут не учитываться особенности графического интерфейса пользователя, а также функции, не участвующие в обработке результатов измерений (например, функции отображения, хранения данных и т.д.).
6.5.4. Сравнительные испытания с использованием моделей исходных данных.
6.5.4.1. Метод аттестации с использованием моделей исходных данных рекомендуется методикой МИ 2174 [3] для аттестации алгоритмов обработки результатов измерений. Метод позволяет оценивать возможности алгоритмов сравнением результатов обработки тестируемыми алгоритмами моделей исходных данных с заданными параметрами этих моделей.
6.5.4.2. Метод моделей исходных данных является разновидностью метода генерации «эталонных» данных, когда эти данные не генерируются специально разработанной программой, а программно задаются на входе тестируемого ПО. Модели исходных данных выбираются таким образом, чтобы они максимально соответствовали частной измерительной задаче, решаемой тестируемыми алгоритмами. При этом модели исходных данных должны охватывать как можно больший диапазон возможных значений, поступающих на обработку.
6.5.4.3. В модели исходных данных могут быть включены:
данные, указанные в разделе 4 методики МИ 2174;
данные, полностью перекрывающие диапазон возможных значений;
данные, близкие к наибольшим и наименьшим значениям, а также ряд промежуточных значений;
особые значения входных переменных - точки резкого возрастания или разрыва производных, нулевые, единичные и предельно малые численные значения переменных и т.п.
6.5.4.4. Если значения некоторой переменной зависят от значения другой переменной, то тестирование проводят при особых сочетаниях этих переменных, таких, как равенство обеих переменных, малое и предельно большое их различие, нулевые и единичные значения и т.п.
6.5.5. Генерация «эталонных» наборов данных.
6.5.5.1. Метод генерации «эталонных» наборов данных, как и метод моделей исходных данных, применяется как альтернатива использованию опорного («эталонного») ПО в случае его отсутствия или невозможности использования при оценке отдельных функций, реализуемых аттестуемым ПО. Одним из необходимых условий применения метода генерации «эталонных» данных является наличие априорной информации о модельном решении соответствующей измерительной задачи. С этим модельным решением проводится сравнение тестовых результатов.
6.5.5.2. «Эталонные» данные получают путем генерации таких данных с помощью специально разработанной программы - генератора «эталонных» данных, который представляет собой алгоритм, предназначенный для моделирования «эталонных» данных на основе выбранных (заданных) исходных данных.
Генератор «эталонных» данных реализуют на одном из языков программирования или при помощи стандартного математического или статистического программного пакета [5, 6].
6.5.5.3. Исходные данные для тестирования, в том числе и для генерации «эталонных» данных, формируются с учетом свойств программно реализованных алгоритмов.
6.5.6. Сличение ПО.
6.5.6.1. При наличии нескольких программ сопоставимого уровня вычислительных возможностей и в отсутствие опорного («эталонного») ПО рекомендуется проводить сличение таких программ, когда на их входы подаются согласованные одинаковые наборы «эталонных» данных и производится сравнение соответствующих тестовых результатов. При этом результаты сличения признаются удовлетворительными, если различия в тестовых результатах не выходят за пределы согласованного допуска.
Примечание - Примером программ, указанных в п. 6.5.6.1, являются программы расчета параметров расходомеров на основе стандартных сужающих устройств [7, 8]. Это сложные программы, основанные в ряде случаев на громоздких формулах и математических соотношениях и использующие эмпирические данные о свойствах проходящих через расходомеры сред, которые в разных программах выбираются с разной точностью, либо вычисляются с помощью различных интерполяционных процедур и т.п. В этих условиях выбрать среди этих программ или разработать опорную («эталонную») программу не представляется возможным. В виду сложности таких программ не удается также применить методы моделей исходных данных или генерации «эталонных» данных.
6.5.7. Аттестация на основе анализа исходного кода ПО
6.5.7.1. При аттестации на основе анализа исходного кода ПО проверяется:
соответствие структуры алгоритмов представленной документации;
правильность записи алгоритмов на выбранном языке программирования;
адекватность выбранных алгоритмов измерительной задаче (в частности,
выявление неустойчивых алгоритмов).
6.5.7.2. При проверке соответствия структуры алгоритмов представленной документации, по тексту программы могут быть составлены блок-схемы реализуемых алгоритмов, которые сравниваются с алгоритмами, изложенными в документации. В случае нахождения различий в структуре алгоритмов проводится дополнительный анализ элементов блок-схем, в которых обнаружены различия.
6.5.7.3. Проверяется правильность записи алгоритмов на выбранном языке программирования. При этом устанавливается соответствие кода правилам программирования, наличие неопределенных переменных и операторов, правильность организации циклов и т.д.
6.5.7.4. Соответствие выбранных алгоритмов измерительной задаче может быть осуществлено путем математического анализа программно реализованных алгоритмов. При этом могут исследоваться логические и точностные характеристики реализованных алгоритмов, в частности, анализироваться пригодность и оптимальность примененных численных методов решения измерительной задачи.
6.5.8. Представление результатов оценки влияния ПО на MX СИ.
6.5.8.1. На основе используемых методов оценки влияния ПО на MX СИ, перечисленных в предыдущих пунктах настоящей Рекомендации, рассчитывают характеристики точности тестируемых алгоритмов, например его исполнительную характеристику [5], относительное отличие тестовых результатов вычислений от опорных («эталонных») [6].
Могут быть оценены и другие характеристики алгоритмов такие, как их сложность, скорость исполнения, адекватность измерительной задаче, выбор численной схемы расчета, коэффициент обусловленности (устойчивости), область устойчивости и т.п.
6.5.8.2. Исполнительная характеристика алгоритма. Исполнительная характеристика алгоритма вычисляется по формуле [5]
где - коэффициент обусловленности (устойчивости) (для устойчивых алгоритмов k(х) ≈ 1),
η - предельная относительная вычислительная точность (η ≈ 10-16),
- норма (длина) вектора отличия тестовых результатов от «эталонных».
Например, если в процессе вычислений получено m тестовых результатов у1(тест), у2(тест), ..., уm(тест) и опорных («эталонных») у1(эт), у2(эт), …, уm(эт) то норма вычисляется по формуле
- норма вектора «эталонных» результатов, т.е.
Исполнительная характеристика показывает число потерянных цифр точности в тестируемом ПО по сравнению с опорным («эталонным») [5].
6.5.8.3. Исполнительная характеристика, определенная формулой (1), зависит, в частности, от величины которая характеризует относительное отличие тестовых результатов вычислений от опорных («эталонных»). Эта величина может рассматриваться как одна из количественных характеристик алгоритмов. Иногда ее удобно выражать в процентах.
Примечание - Исполнительная характеристика (1) может применяться также для нахождения числа потерянных цифр точности в тестовых результатах по сравнению с любыми другими результатами, используемыми для сравнения с ними (модельными, сгенерированными и т.п.). Это примечание относится также и к величине, определяемой формулой (2)
6.5.8.4. Критерии, которым должны удовлетворять определенные и оцененные характеристики алгоритмов ПО, а также допускаемые значения характеристик могут быть установлены на основе требований к точности решения измерительной задачи (если они имеются), точности выполняемых расчетов (степени округления) и т.п. Критерии и допуски на значения характеристик фиксируются в методике аттестации и согласовываются с ее Заказчиком.
6.5.8.5. Все определенные и оцененные характеристики и свойства алгоритмов вносят в протокол аттестации.
6.5.8.6. Перечень характеристик аттестуемого ПО может корректироваться соглашением между Исполнителем и Заказчиком аттестации ПО.
6.2.1. Проверку защиты ПО СИ проводят с целью установления наличия средств защиты метрологически значимой части ПО СИ и измеренных данных и определения уровня защиты ПО СИ от непреднамеренных и преднамеренных изменений. Под проверкой защиты программного обеспечения понимается:
проверка защиты метрологически значимой части ПО СИ и измеренных данных от случайных или непреднамеренных изменений;
проверка защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений.
6.6.2. Проверка защиты метрологически значимой части ПО СИ и измеренных данных от случайных или непреднамеренных изменений.
6.6.2.1. Возможными причинами случайных или непреднамеренных изменений метрологически значимой части ПО СИ и измеренных данных могут быть:
непредсказуемые физические воздействия;
эффекты, обусловленные действиями пользователя.
6.6.2.2. На основе анализа документации определяется наличие (отсутствие) средств защиты метрологически значимой части ПО СИ и измеренных данных от изменения или удаления в случае возникновения непредсказуемых физических воздействий (например, наличие энергонезависимой памяти для хранения измеренных данных).
6.6.2.3. С помощью функциональных проверок, имитирующих непредсказуемые физические воздействия, убеждаются в действии средств защиты метрологически значимой части ПО СИ и измеренных данных от изменения или удаления в случае возникновения непредсказуемых физических воздействий.
6.6.2.4. На основе анализа документации и проведения функциональных проверок убеждаются, что интерфейс пользователя ПО СИ содержит в себе средства предупреждения пользователя, если его действия могут повлечь изменение или удаление метрологически значимой части ПО СИ и/или измеренных данных.
6.6.2.5. На основе анализа документации и проведения функциональных проверок, имитирующих различного рода ошибки или иные изменения случайного или непреднамеренного характера, проверяется их обнаружение и фиксация в журнале(ах) событий.
6.6.3. Проверка защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений.
6.6.3.1. Метрологически значимая часть ПО СИ в необходимых случаях должна содержать специальные средства защиты, исключающие возможность несанкционированной модификации, загрузки (в том числе загрузки фальсифицированного ПО и данных), считывания из памяти СИ, удаления или иных преднамеренных изменений метрологически значимой части ПО СИ и измеренных данных. К специальным средствам защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений могут быть, в частности, отнесены:
средства проверки целостности ПО (например, несанкционированная модификация метрологически значимой части ПО СИ может быть проверена расчетом контрольной суммы для метрологически значимой части ПО СИ и сравнением ее с действительным значением);
средства обнаружения и фиксации событий;
средства управления доступом;
иные средства защиты.
6.6.3.2. На основе анализа документации и проведения функциональных проверок убеждаются, что действие средства проверки целостности ПО распространяется на метрологически значимую часть ПО СИ и данные. Для этой цели вносят изменения в метрологически значимую часть ПО СИ и измеренные данные и проверяют реакцию средства проверки целостности ПО на внесенные изменения.
6.6.3.3. На основе анализа документации проверяется соответствие алгоритма проверки целостности ПО достаточному уровню защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений.
6.6.3.4. Если для проверки целостности ПО применяют расчет контрольной суммы, то на основе документации проверяется, что алгоритм, используемый для расчета контрольной суммы, и количество символов контрольной суммы соответствуют достаточному уровню защиты метрологически значимого ПО СИ и измеренных данных от преднамеренных изменений.
6.6.3.5. На основе анализа документации определяется набор событий, который подлежит обнаружению и фиксации в соответствующем журнале событий. Убеждаются, что в набор событий, подлежащий обнаружению и фиксации, включены события, связанные с обновлением (загрузкой) метрологически значимой части ПО СИ, изменением или удалением измеренных данных в памяти СИ, изменением параметров ПО СИ, участвующих в вычислениях и влияющих на результат измерений.
6.6.3.6. Проведением функциональных проверок, имитирующих наступление событий, подлежащих обнаружению и фиксации в журнале событий ПО СИ, проверяют соответствующую реакцию средства обнаружения и фиксации событий.
6.6.3.7. Проверяют, что данные журнала событий невозможно исказить либо несанкционированно удалить без нарушения защиты иных средств защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений.
6.6.3.8. На основе анализа документации определяются полномочия пользователей, имеющих различные права доступа к функциям метрологически значимой части ПО СИ и измеренным данным.
6.6.3.9. С помощью функциональных проверок убеждаются в соответствии полномочий пользователей, имеющих различные права доступа к функциям метрологически значимой части ПО СИ и измеренным данным, полномочиям, описанным в документации на ПО СИ.
6.6.3.10. Проверяют корректность реализации управления доступом пользователя к функциям метрологически значимой части ПО СИ и измеренным данным. Для этого проверяется реакция средства управления доступом на неоднократный ввод неправильных идентификационных данных пользователя. Формат идентификационных данных пользователя, используемых для доступа к функциям метрологически значимой части ПО СИ и измеренным данным, должен соответствовать достаточному уровню защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений.
6.6.3.11. Для СИ, в которых отсутствуют интерфейсы связи, несанкционированная модификация, удаление или иные преднамеренные изменения метрологически значимой части ПО СИ и измеренных данных возможны посредством замены запоминающего устройства(в) другим, содержащим фальсифицированную метрологически значимую часть ПО СИ и измеренные данные. Проверяется, что конструкцией СИ, непосредственно запоминающим устройством(ми) или иным способом обеспечивается защита запоминающего устройства(в) от несанкционированной замены.
6.6.4. В случаях, когда проводятся испытания сложных измерительных систем, систем, используемых при коммерческих расчетах, или когда к этим системам предъявляются исключительные требования по безопасности и надежности их функционирования, защита метрологически значимой части ПО СИ и измеренных данных от преднамеренных, случайных или непреднамеренных изменений дополнительно проверяется при помощи анализа исходного кода ПО.
6.6.5. Определение уровня защиты ПО СИ от непреднамеренных и преднамеренных изменений.
6.6.5.1. Определение уровня защиты ПО СИ от непреднамеренных и преднамеренных изменений проводят на основании результатов исследований ПО СИ, выполненных в соответствии с разделами 6.2, 6.3, 6.4 и 6.6 настоящей Рекомендации.
6.6.5.2. При определении уровня защиты ПО СИ от непреднамеренных и преднамеренных изменений учитывают необходимость применения и достаточность примененных специальных средств защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений (см. табл. 1).
6.6.5.3. Уровню «А» защиты ПО СИ от непреднамеренных и преднамеренных изменений соответствует такой уровень защиты метрологически значимой части ПО СИ и измеренных данных, при котором не требуется специальных средств защиты, исключающих возможность несанкционированной модификации, обновления (загрузки), удаления и иных преднамеренных изменений метрологически значимой части ПО СИ и измеренных данных.
6.6.5.4. Уровню «В» защиты ПО СИ от непреднамеренных и преднамеренных изменений соответствует такой уровень защиты метрологически значимой части ПО СИ и измеренных данных, при котором примененные специальные средства защиты не исключают возможность несанкционированной модификации, обновления (загрузки), удаления и иных преднамеренных изменений метрологически значимой части ПО СИ и измеренных данных.
ПО СИ с таким уровнем защиты от непреднамеренных и преднамеренных изменений не может применяться в СИ без внесения дополнительных специальных средств защиты, позволяющих в достаточной мере исключить возможность несанкционированной модификации, обновления (загрузки), удаления и иных преднамеренных изменений метрологически значимой части ПО СИ и измеренных данных.
6.6.5.5. Уровню «С» защиты ПО СИ от непреднамеренных и преднамеренных изменений соответствует такой уровень защиты метрологически значимой части ПО СИ и измеренных данных, при котором примененные специальные средства защиты в достаточной мере исключают возможность несанкционированной модификации, обновления (загрузки), удаления и иных преднамеренных изменений метрологически значимой части ПО СИ и измеренных данных.
Содержание п.п. 6.6.5.3 - 6.6.5.5 представлено в таблице 1.
6.6.5.6. Для каждого уровня защиты ПО СИ от непреднамеренных и преднамеренных изменений должна быть в достаточной степени обеспечена защита метрологически значимой части ПО СИ и измеренных данных от случайных или непреднамеренных изменений.
6.6.5.7. Сведения о защите метрологически значимой части ПО СИ и измеренных данных от случайных или непреднамеренных изменений, о защите метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений, об уровне защиты ПО СИ от непреднамеренных и преднамеренных изменений вносят в протокол аттестации.
Уровень защиты ПО СИ от непреднамеренных и преднамеренных изменений |
Описание |
А |
Не требуется специальных средств защиты метрологически значимой части ПО СИ и измеренных данных от преднамеренных изменений. |
В |
Метрологически значимая часть ПО СИ и измеренные данные недостаточно защищены с помощью специальных средств защиты от преднамеренных изменений. |
С |
Метрологически значимая часть ПО СИ и измеренные данные достаточно защищены с помощью специальных средств защиты от преднамеренных изменений. |
[1] OIML D 31 Edition 2008 (E) General requirements for software controlled measuring instruments. (Общие требования к программно контролируемым средствам измерений)
[2] WELMEC 7.2. Issue 4. Software Guide (Measuring Instruments Directive 2004/22/EC) May 2009 (русский перевод: BEЛMEK 7.2. Руководство по программному обеспечению (Директива 2004/22/ на средства измерений)) - М.; АНО «РСК-Консалтинг», 2009)
[3] МИ 2174-91 ГСИ. Аттестация алгоритмов и программ обработки данных при измерениях. Основные положения.
[4] В.А. Слаев, А.Г. Чуновкина. Аттестация программного обеспечения, используемого в метрологии: Справочная книга /Под ред. В.А. Слаева. - СПб.: «Профессионал», 2009 - 320 с.
[5] H.R. Cook, M.G. Сох, М.Р. Dainton, P.M. Harris. Testing Spreadsheets and Other Packages Used in Mertrology. A Case Study. Report to National Measurements System Policy Unit. September 1999.
[6] Ю.А. Кудеяров, A.A. Сатановский. Генерация эталонных данных методом нуль - пространства для тестирования электронных таблиц, прикладных математических пакетов и алгоритмов. Законодательная и прикладная метрология, № 2, 2005, с.с. 39 - 46
[7] ГОСТ 8.586.1 - 8.586.5-2005. ГСИ. Измерение расхода и количества жидкостей и газов с помощью стандартных сужающих устройств.
[8] ГОСТ 30319.0 - 30319.3-96 (с изменениями) Газ природный.