Когда наша компания стала поставлять системы на базе ПЛК на рынке атомной энергетики, возник вопрос подтверждения соответствия процессов разработки и тестирования различным стандартам в области безопасности. Мы создали и обучили команду тестировщиков, владеющую практиками статического анализа кода, функционального и структурного тестирования (как для этапа юнит-тестов, так и интеграции), а также симуляции физических сигналов. Вот как мы решили эту непростую задачу.
3. • Технический директор с 2011 http://www.radiy.com/
• Области экспертизы: QA, PM, R&D, BA, Business
Development, преподавание
• EU Tempus (Horizon2020) – 7 проектов с 2006
3
О себе
• Контроллер RadICS на
базе ПЛИС (FPGA) – PM
в проекте по разработке
и сертификации
4. • Компания Радий: вклад в безопасность атомных
электростанций
• Отличие индустрии встроенных систем
безопасности от ИТ
• Команда тестирования «с нуля»: история успеха
• Методы тестирования встроенных систем на
базе программируемых логических
интегральных схем (ПЛИС, FPGA – Field
Programmable Gates Array)
• Выводы 4
Содержание
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
6. Чем мы отличаемся от ИТ
Производим оборудование -> работает на АЭС
в Украине, в Европе, в Америке
Уровень зарплат -> нет привязки к $
Наличие производства –> специфика менеджмента
Подбор и мотивация персонала -> кооперация с
университетами
Соответствие требованиям стандартов
по безопасности -> независимая оценка (лицензирование,
сертификация)
V-shape Life Cycle
QA = Verification and Validation: Docs Review, Reliability
Analysis (FMEDA), Static Code Analysis, Unit and Integration
testing (code), Fault Insertion Testing, Validation, Requirements
Tracing, Environmental Equipment Qualification
6
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
7. IT stack used at Radiy
VHLD for CPLD/FPGA
(Altera Quartus II)
Assembler and C
for CPU
C++/C# (MS Visual Studio) for HMI
Testing (Mentor Graphic ModelSim, NI
LabView)
PCB (Altium Designer, P-CAD)
Electrical, cables, mechanical design (COMPASS)
7
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
9. Команда тестирования
«с нуля»: история успеха
На начальном этапе – отсутствие QA для кода, тестирование
выполнялось лишь для интегрированной системы
Основная мотивация внедрения QA – соответствие требованиям
стандартов для получения сертификатов и лицензий
Нужна была мультидисциплинарная команда по направлениям:
тестирование кода VHDL, тестирование схемотехники, тестирование
интегрированных систем на базе ПЛК
Существенным моментом было обязательное оформление объемной
англоязычной тестовой документации
Один из критериев успешности тестирования: документированное 100%
тестовое покрытие по «правильным» критериям
Команда тестирования была создана с привлечением преподавателей и
студентов Полтавского НТУ (каф. компьютерной инженерии) – spin off
После внедрения QA признано подтверждение качества продуктов
9
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
10. Static Code Analysis and
Code Review
Tools
Aldec ALINT
Mentor Graphics HDL Designer
TrigProc:
process (R, S) is-- Violation, asynchronous combination logic
begin
if R = ‘1’ then
Q <= ‘0’;
elsif S = ‘1’ then
Q <= ‘1’;
end if;
end process TrigProc;
Q$latch
Q
R
S
10
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
10
11. Functional Testing of VHDL
Tools
Vendor Name
Aldec Active-HDL,
Riviera-PRO
Mentor
Graphics
ModelSim, Questa
Сadence Incisive Enterprise
Simulator/Verifier
Synopsys VCS и Verdi3
11
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
12. Logic Level Simulation, Timing
Simulation
Tools
The same as for FT
12
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
12
13. Static Timing Analysis
Независимые разработчики
Vendor Name
Microsemi SmartTime
Xilinx Vivado Static Timing
Analysis
Altera TimeQuest Timing
Analyzer
Cadence TempusTiming
Signoff Solution
Synopsys PrimeTime Suite
Tools
13
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
13
16. Table 2/A.15 Systematic Failures in HW Design
IEC
61508
Ref.
Requirement Compliance Argument:
Reference/Comment
FS Assessor's
Evaluation
Action
Alert to
Client
2/A.15-1
7/A.9
Program sequence
monitoring (HR/medium)
▼Temporal or logical
monitoring of the program
sequence
▲Temporal and logical
monitoring of the program
sequence at very many
checking points in the
program
▲See PAD (D5.1) Figure 2-4.
This shows the separate
clock used for the logic in
the FGPA doing sequence
monitoring. Each time a
function block receives data,
it decodes the CRC+data
which includes a
"numerator". This
numerator acts like a pass
counter, and so allows every
FB execution to detect stale
data. A stale data signal can
come from a FB that did not
get executed the last time, a
failure to update data, or a
failure within the logic
updating the numerator or
in the logic checking for it. []
The FPGA runs a
sequence periodically
which consists of reading
inputs, performing logic,
writing to outputs, and
updating
communications. Each
time one of these items in
the sequence is executed,
a unique code is sent to
the watchdog. The watch
dog looks for this code in
the correct sequence and
resets if the code is not
received in the correct
sequence or is delayed
significantly. []
CLOSED
ACTION(01-
01) Radiy to
check this
claim in col.D-
--2/A.15-1.
Standards compliance testing:
Safety Case approach
17. Выводы
Наличие в компании ИТ сегмента и
производственного сегмента требуют двух
принципиально разных стилей менеджмента – это
остается одним из наших барьеров
Captain Obvious: самое главное – это человеческий
фактор
Отрасль Embedded Safety Systems заимствует у IT
Industry многие подходы к РМ; что может
позаимствовать IT Industry?
Компоненты методологии: системный анализ,
управление требованиями и трассировка
требований, поэтапное тестирование, тестовая
документация
17
QA Fest 2015 | October 31, 2015 | Kyiv, Ukraine
18. Thank you for your attention!
Research & Production Corporation Radiy
29, Geroyiv Stalingrada Street, Kirovograd 25009, Ukraine
e-mail: v.sklyar@radiy.com; vvsklyar14@gmail.com; vvsklyar@ukr.net
http://www.radiy.com
18