SlideShare a Scribd company logo
1 of 32
Унифицированная высокоуровневая
модель программно-аппаратной
системы для верификации свойств
надежности функционирования
 
С.Л. Френкель1
, В.Н.Захаров1
, В.Г. Ушаков2
1
Институт проблем информатики (fsergei@mail.ru,
VZakharov@ipiran.ru)
2
Московский гос. университет им. М.В. Ломоносова,
Институт проблем информатики РАН ( Ushakov@akado.ru ).
2
 ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ
ПРОГРАММНО-АППАРАТНЫХ СИСТЕМ
 Architectural and RTL Design
Input: Архитектурная/поведенческая модель на HDL
(Verilog, VHDL) или языках высокого уровня (SystemC,
SystemVerilog)
Output: RTL модель:
 data path
 control logic (конечно-автоматная модель блока
управления)
 Logic Synthesis
Input: RTL описание
Output: вентильная модель
 Physical Design
Вне нашего рассмотрения
3
     Основные Вызовы в практике
верификации проектов
 Верификация занимает 50-80% of ASIC / IP / SoC
проектных затрат
 Вычислительная сложность формальной верификации
 Моделирование:медленно, трудоемкость подбора тестовых
примеров и анализа результатов
 Дороговизна программных инструментов.
Высокие, и зачастую противоречивые требования к
подготовке персонала
НЕКОТОРЫЕ ФАКТОРЫ СТОИМОСТИ
ПРОЕКТИРОВАНИЯ
 RTL Синтез по исходной спецификации,
 Разработка производственных и эксплуатационных
тестов
 Функционально-временная верификация проекта
 Анализ надежности в присутствии различных
внешних помех
ф
5
Возможности    повышения эффективности 
Переиспользование (Reuse) входных данных и
результатов различных этапов проектирования через
унификацию исходных спецификаций.
          УНИФИКАЦИЯ
 {Task_i}- набор задач,
решение которых
необходимо для
разработки проекта
системы (синтеза,
тестирования,
верификации,
надежности и.т.д.)
ФЗ-формализованное
задание,
Ispec_i- неформальная 
спецификация i-ой 
задачи
  6
Унификация
{Task_i} (Ispec_i) i= 
1,2…k
    ФЗ (Design Input) 
SW_i(input)
Requirements
          ЯЗЫКИ СПЕЦИФИКАЦИИ
Уровень модели
Арихитектурно-
Алгоритмический
Поведенческий
RTL
  SystemC, Abstract State Machine 
(AsmL),Promela (синтез, верификация)
SystemC, System Verilog, SMV 
(синтез, верификация)
 
VHDL, Verilog (синтез, верификация, 
производственные тесты) 
7
8
Algorithmic State Machine (ASM)
An Algorithmic State Machine (ASM) –направленный граф с начальной 
вершиной   (Begin), конечной (End), и конечным множеством  операторных 
и условных вершин с одним входом. 
Вершина End не имеет выходов.  Операторная вершина содержит 
описание операторов на некотором псевдо-коде.
ASM позволяет:
Иерархически описать алгоритм работы проектируемой системы ,
Специфицировать Data Path проектируемой системы, 
Специфицировать  управляющий автомат проектируемой системы.
Блок-схема алгоритма Контроллера Светофора
main- main road, sec- secondary, amb- ambulance 9
10
Переход от блок-схемы алгоритма к
ASM :
Вершины  НАБОР МИКРООПЕРАЦИЙ y1, y2, … ,
yN,  операторы Y1, Y2, … ,YM
Неформальные условия в условных вершинах 
булевы функции от x1, x2,, … , xL
Блок-схема- ASM  FSM
 Входы вершин “Begin” .
“End” помечаем как a1
 Входы вершин следующих
за операторными
вершинами помечаем как
a1,..,aM (M=6)
Входы разных вершин, кроме
END, помечаются разными
индексами)
11
12
Основные свойства ASM, обеспечивающие
прозрачность связей разных уровней
проектирования
 Все операции в одной операторной вершине
выполняются в одном и том же цикле
 Если две операции в двух последовательных
вершинах могут быть выполены в одном цикле,
то вершины (и соответсnвующие им состояния ai )
могут быть объеденены в одну
 Для каждой регистровой операции (register-
transfer statement), существует путь между
регистром -иcточником, и регистром –
приемником .
Таблица переходов FSM контроллера
13
Структурное представление FSM
14
15
Синтез схем с использованием системы
Abelite
(Prof. Samary Baranov, Holon Institute of Technology, Israel)
ASM-description
FSMFSM
Micro
operations
RTL (VHDL)
Design Tools
(SYNOPSIS,CADENCE)
I2
Joint ASM
Flow Chart
I1 In
ASM как средство
унификации

16
ASM-Диаграмма
Анализ
тестов
Анализ
производительности
Анализ
надежности
17
Общая схема верификации проектов
18
Верификация на основе Model Checking
FINITE-STATE
SYSTEM
PROPERTY
TO VERIFY
MODEL
CHECKING
PROGRAM
PROPERTY IS TRUE OR
A COUNTER EXAMPLE
propagates sets
of states, not
individual
trajectories
Формальная верификация для проверки соответствия проекта
определенным требованиям производительности и надежности
Использование ASM- для
полуформальной спецификации проекта
20
Защита (Hardening) от EU
Hamming distance preserving arithmetic, Shlomi Dolev (Ben-Gurion Univ.,
Israel and Sergey Frenkel (IPI RAN), 2008
модель самовосстановления
после прекращения действия помехи
Начальный момент t=0;
 автомат X под действием помехи переходит
в состояние Y0 вместо состояния X0.
 Обозначим такой автомат как как Y.
Неисправный автомат Y действует на тех же
входных сигналах с теми же переходами и
выходными сигналами в зависимости от
текущих состояний и входных сигналов. Так
происходит до того момента, когда либо
проявилось действие помехи в выходном
сигнале, либо состояния обоих автоматов
совпадут. 22
Произведение автоматов
Распределение вероятностнй входов X известно.
Множество состяний автомата- {(si,sj
f
)}, i,j=1,..n
{si }- состояния исправного автомата,
{sj
f
} – автомат, подвергшийся действию помехи
Время до самовосстановления (Self-healing time):
Вероятностная модель
 Цепь Маркова (ЦМ) Zt=(Xt, Yt), описывает совместное
функционирование ЦМ Xt и Yt до момента, когда либо выходной
сигнал неисправного автомата окажется отличным от выходного
сигнала исправного автомата (проявилось действие помехи в
выходном сигнале), либо состояния обоих автоматов совпадут.
 Множества состояний S1,2, |S1,2| = n, обеих ЦМ одинаковы,
начальные состояния X0, Y0, Y0 ≠ X0 детерминированы. Множество
состояний ЦМ Zt представляет собой S = {(i,j), i,j = 1,…,n, j ≠ i} ∪
A0 ∪ A1, где состояние (i,j) означает, что исправный автомат
находится в состоянии i, а неисправный – в состоянии j
(отличном от состояния i исправного автомата), состояние
 A1 – неправильное функционирование (в результате действия
помехи) уже проявилась в выходном сигнале),
 A0 – произошло восстановление траектории функционирования
автомата до проявления эффекта помехи на выходе.
 Число состояний этой ЦМ равно n(n – 1) + 2. Состояния A0 и A124
25
Вычисление вероятности
самовосстановления
26
D ектор начального распределения определяется начальными
состояниями исправного и неисправного автоматов. Если исправный
автомат в начальный момент 0 находится в состоянии i0
, а неисправный
– в состоянии j0
≠ i0
, то p(i0,j0)
(0) = 1, а остальные координаты вектора
нулевые.
Матрица переходных вероятностей *
вычисляется по известным
вероятностям выполнения условных вершин
Распределение времени t от прекращения действия помехи до
самовосстановления:
Пример вычисления переходных вероятности ЦМ Zt
 Состояния A0 и A1 -вероятность остаться в каждом
из этих состояний равна 1.
(1,2) – исправный и неисправный автоматы находятся,
соответственно, в состояниях a1и a2, (2,1) – в
состояниях и a2 и a1.
 Из состояния (1,2) в состояние A0 можно попасть
только в том случае, когда поступит сигнал ¬
x1x2x3 с вероятностью q1p2p3. Тогда оба
автомата (исправный и неисправный) перейдут в
одно и тоже состояние a2, а выходной сигнал у
обоих автоматов – y2,y4
 из состояния (1,2) в состояние A1 можно попасть.
если поступит сигнал x1 ¬x2 (с вероятностью
p1q2, ), тогда выходной сигнал у исправного
автомата y2y3, у неисправного – y2y4 (при этом
исправный автомат переходит из состояния a1 в
состояние a2, неисправный – из состояния a2 в
состояние a1 ),либо, если поступит сигнал
x1x2 ¬x3, выходной сигнал у исправного автомата
–y2y4, , у неисправного – y1y2 (при этом оба
автомата попадают в состояние a1 ), либо, если
поступит сигнал ¬x1x2 ¬x3, тогда выходной сигнал
у исправного автомата –y2y4 , у неисправного-y1y4
– (при этом исправный автомат: a1- a2,
неисправный- a2-a1)
28
Методология совместной функциональной и
надежностной верификации
ASM диаграмма фазы выборки конвейеризированного
процессора
29
Входные данные программ верификации,генерируемые из
ASM
Таблица переходов
автомата
Микрооперации
30
Анализ надежности
Вероятности восстановления через t тактов после сбоя (1,2):
SH = (0.0, 0.034, 0.46, 0.55, 0.64, 0.68),
и после сбоя (5.2):
S = (0.00, 0.79, 0.79, 0,85, 0.89, 0.92, 0.93
31
32
Thank You!

More Related Content

What's hot

построение логических схем
построение логических схемпостроение логических схем
построение логических схемЕлена Ключева
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
 
020
020020
020JIuc
 
359.краткое введение в систему octave
359.краткое введение в систему octave359.краткое введение в систему octave
359.краткое введение в систему octaveivanov1566359955
 
5 1 диаграммы состояний
5 1 диаграммы состояний5 1 диаграммы состояний
5 1 диаграммы состоянийMaksim Nikitin
 
028
028028
028JIuc
 
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫITMO University
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...Iosif Itkin
 
A Method of Building Extended Finite State Machines According to HDL-Descript...
A Method of Building Extended Finite State Machines According to HDL-Descript...A Method of Building Extended Finite State Machines According to HDL-Descript...
A Method of Building Extended Finite State Machines According to HDL-Descript...Iosif Itkin
 

What's hot (14)

построение логических схем
построение логических схемпостроение логических схем
построение логических схем
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
 
5 sl sign
5 sl sign5 sl sign
5 sl sign
 
020
020020
020
 
UML: Statechart Diagram
UML: Statechart DiagramUML: Statechart Diagram
UML: Statechart Diagram
 
Ekstremumy funkcii
Ekstremumy funkciiEkstremumy funkcii
Ekstremumy funkcii
 
359.краткое введение в систему octave
359.краткое введение в систему octave359.краткое введение в систему octave
359.краткое введение в систему octave
 
Statechart diagram
Statechart diagramStatechart diagram
Statechart diagram
 
5 1 диаграммы состояний
5 1 диаграммы состояний5 1 диаграммы состояний
5 1 диаграммы состояний
 
028
028028
028
 
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
ВНЕСЕНИЕ ИЗМЕНЕНИЙ В АВТОМАТНЫЕ ПРОГРАММЫ
 
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
TMPA-2013 Vert Krikun: Finding Defects in C and C++ Pointers Using Static Ana...
 
02 if for
02 if for02 if for
02 if for
 
A Method of Building Extended Finite State Machines According to HDL-Descript...
A Method of Building Extended Finite State Machines According to HDL-Descript...A Method of Building Extended Finite State Machines According to HDL-Descript...
A Method of Building Extended Finite State Machines According to HDL-Descript...
 

Similar to TMPA-2013 Frenkel: Verifying Functional Reliability

РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.Pavel Tsukanov
 
Natalia Shabaldina. CSEDays
Natalia Shabaldina. CSEDaysNatalia Shabaldina. CSEDays
Natalia Shabaldina. CSEDaysLiloSEA
 
Верификация управляющих программ в системе автоматизации РТК (Iron hand)
Верификация управляющих программ в системе автоматизации РТК (Iron hand)Верификация управляющих программ в системе автоматизации РТК (Iron hand)
Верификация управляющих программ в системе автоматизации РТК (Iron hand)Alexander Petrov
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Mikhail Kurnosov
 
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Nikolay Grebenshikov
 
Программирование логики системы Z-Line с помощью программы Z-CONFIG
Программирование логики системы Z-Line с помощью  программы Z-CONFIG Программирование логики системы Z-Line с помощью  программы Z-CONFIG
Программирование логики системы Z-Line с помощью программы Z-CONFIG Z-Line
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Nikolay Grebenshikov
 
Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...Mikhail Kurnosov
 
1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)Smolensk Computer Science Club
 
Управление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппаратаУправление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппаратаTheoretical mechanics department
 
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДАПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДАITMO University
 
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...ITMO University
 
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...CEE-SEC(R)
 
Патент на полезную модель Республики Беларусь
Патент на полезную модель Республики БеларусьПатент на полезную модель Республики Беларусь
Патент на полезную модель Республики БеларусьИван Иванов
 
20090222 parallel programming_lecture01-07
20090222 parallel programming_lecture01-0720090222 parallel programming_lecture01-07
20090222 parallel programming_lecture01-07Computer Science Club
 
Erlang для высоконагруженных систем (Валентин Нечаев)
Erlang для высоконагруженных систем (Валентин Нечаев)Erlang для высоконагруженных систем (Валентин Нечаев)
Erlang для высоконагруженных систем (Валентин Нечаев)Ontico
 

Similar to TMPA-2013 Frenkel: Verifying Functional Reliability (20)

РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
 
Natalia Shabaldina. CSEDays
Natalia Shabaldina. CSEDaysNatalia Shabaldina. CSEDays
Natalia Shabaldina. CSEDays
 
Верификация управляющих программ в системе автоматизации РТК (Iron hand)
Верификация управляющих программ в системе автоматизации РТК (Iron hand)Верификация управляющих программ в системе автоматизации РТК (Iron hand)
Верификация управляющих программ в системе автоматизации РТК (Iron hand)
 
верификация
верификацияверификация
верификация
 
лекция 15
лекция 15лекция 15
лекция 15
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
 
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
Лекция №3. Свойства и моделирование стандартных схем программ. Предмет "Теори...
 
Lektsia%2b6
Lektsia%2b6Lektsia%2b6
Lektsia%2b6
 
Программирование логики системы Z-Line с помощью программы Z-CONFIG
Программирование логики системы Z-Line с помощью  программы Z-CONFIG Программирование логики системы Z-Line с помощью  программы Z-CONFIG
Программирование логики системы Z-Line с помощью программы Z-CONFIG
 
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
Лекция №2. Алгоритмические проблемы. Стандартные схемы программ. Предмет "Тео...
 
Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...
Лекция 1: Архитектурно-ориентированная оптимизация программного обеспечения (...
 
1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)1 встреча — Параллельное программирование (А. Свириденков)
1 встреча — Параллельное программирование (А. Свириденков)
 
Управление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппаратаУправление пространственным поворотным маневром космического аппарата
Управление пространственным поворотным маневром космического аппарата
 
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДАПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
ПРОГРАММИРУЕМЫЙ ФОРМИРОВАТЕЛЬ ТРАЕКТОРИИ ДВИЖЕНИЯ СЛЕДЯЩЕГО ЭЛЕКТРОПРИВОДА
 
Theme 02
Theme 02Theme 02
Theme 02
 
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...
УПРАВЛЕНИЕ ПО ВЫХОДУ ЛИНЕЙНЫМ ПАРАМЕТРИЧЕСКИ НЕОПРЕДЕЛЕННЫМ ОБЪЕКТОМ В УСЛОВИ...
 
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...Автоматизированная разработка генераторов тестовых программ для микропроцессо...
Автоматизированная разработка генераторов тестовых программ для микропроцессо...
 
Патент на полезную модель Республики Беларусь
Патент на полезную модель Республики БеларусьПатент на полезную модель Республики Беларусь
Патент на полезную модель Республики Беларусь
 
20090222 parallel programming_lecture01-07
20090222 parallel programming_lecture01-0720090222 parallel programming_lecture01-07
20090222 parallel programming_lecture01-07
 
Erlang для высоконагруженных систем (Валентин Нечаев)
Erlang для высоконагруженных систем (Валентин Нечаев)Erlang для высоконагруженных систем (Валентин Нечаев)
Erlang для высоконагруженных систем (Валентин Нечаев)
 

More from Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

More from Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

TMPA-2013 Frenkel: Verifying Functional Reliability

  • 1. Унифицированная высокоуровневая модель программно-аппаратной системы для верификации свойств надежности функционирования   С.Л. Френкель1 , В.Н.Захаров1 , В.Г. Ушаков2 1 Институт проблем информатики (fsergei@mail.ru, VZakharov@ipiran.ru) 2 Московский гос. университет им. М.В. Ломоносова, Институт проблем информатики РАН ( Ushakov@akado.ru ).
  • 2. 2  ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ ПРОГРАММНО-АППАРАТНЫХ СИСТЕМ  Architectural and RTL Design Input: Архитектурная/поведенческая модель на HDL (Verilog, VHDL) или языках высокого уровня (SystemC, SystemVerilog) Output: RTL модель:  data path  control logic (конечно-автоматная модель блока управления)  Logic Synthesis Input: RTL описание Output: вентильная модель  Physical Design Вне нашего рассмотрения
  • 3. 3      Основные Вызовы в практике верификации проектов  Верификация занимает 50-80% of ASIC / IP / SoC проектных затрат  Вычислительная сложность формальной верификации  Моделирование:медленно, трудоемкость подбора тестовых примеров и анализа результатов  Дороговизна программных инструментов. Высокие, и зачастую противоречивые требования к подготовке персонала
  • 4. НЕКОТОРЫЕ ФАКТОРЫ СТОИМОСТИ ПРОЕКТИРОВАНИЯ  RTL Синтез по исходной спецификации,  Разработка производственных и эксплуатационных тестов  Функционально-временная верификация проекта  Анализ надежности в присутствии различных внешних помех ф
  • 5. 5 Возможности    повышения эффективности  Переиспользование (Reuse) входных данных и результатов различных этапов проектирования через унификацию исходных спецификаций.
  • 6.           УНИФИКАЦИЯ  {Task_i}- набор задач, решение которых необходимо для разработки проекта системы (синтеза, тестирования, верификации, надежности и.т.д.) ФЗ-формализованное задание, Ispec_i- неформальная  спецификация i-ой  задачи   6 Унификация {Task_i} (Ispec_i) i=  1,2…k     ФЗ (Design Input)  SW_i(input) Requirements
  • 8. 8 Algorithmic State Machine (ASM) An Algorithmic State Machine (ASM) –направленный граф с начальной  вершиной   (Begin), конечной (End), и конечным множеством  операторных  и условных вершин с одним входом.  Вершина End не имеет выходов.  Операторная вершина содержит  описание операторов на некотором псевдо-коде. ASM позволяет: Иерархически описать алгоритм работы проектируемой системы , Специфицировать Data Path проектируемой системы,  Специфицировать  управляющий автомат проектируемой системы.
  • 9. Блок-схема алгоритма Контроллера Светофора main- main road, sec- secondary, amb- ambulance 9
  • 10. 10 Переход от блок-схемы алгоритма к ASM : Вершины  НАБОР МИКРООПЕРАЦИЙ y1, y2, … , yN,  операторы Y1, Y2, … ,YM Неформальные условия в условных вершинах  булевы функции от x1, x2,, … , xL
  • 11. Блок-схема- ASM  FSM  Входы вершин “Begin” . “End” помечаем как a1  Входы вершин следующих за операторными вершинами помечаем как a1,..,aM (M=6) Входы разных вершин, кроме END, помечаются разными индексами) 11
  • 12. 12 Основные свойства ASM, обеспечивающие прозрачность связей разных уровней проектирования  Все операции в одной операторной вершине выполняются в одном и том же цикле  Если две операции в двух последовательных вершинах могут быть выполены в одном цикле, то вершины (и соответсnвующие им состояния ai ) могут быть объеденены в одну  Для каждой регистровой операции (register- transfer statement), существует путь между регистром -иcточником, и регистром – приемником .
  • 13. Таблица переходов FSM контроллера 13
  • 15. 15 Синтез схем с использованием системы Abelite (Prof. Samary Baranov, Holon Institute of Technology, Israel) ASM-description FSMFSM Micro operations RTL (VHDL) Design Tools (SYNOPSIS,CADENCE) I2 Joint ASM Flow Chart I1 In
  • 18. 18 Верификация на основе Model Checking FINITE-STATE SYSTEM PROPERTY TO VERIFY MODEL CHECKING PROGRAM PROPERTY IS TRUE OR A COUNTER EXAMPLE propagates sets of states, not individual trajectories
  • 19. Формальная верификация для проверки соответствия проекта определенным требованиям производительности и надежности
  • 20. Использование ASM- для полуформальной спецификации проекта 20
  • 21. Защита (Hardening) от EU Hamming distance preserving arithmetic, Shlomi Dolev (Ben-Gurion Univ., Israel and Sergey Frenkel (IPI RAN), 2008
  • 22. модель самовосстановления после прекращения действия помехи Начальный момент t=0;  автомат X под действием помехи переходит в состояние Y0 вместо состояния X0.  Обозначим такой автомат как как Y. Неисправный автомат Y действует на тех же входных сигналах с теми же переходами и выходными сигналами в зависимости от текущих состояний и входных сигналов. Так происходит до того момента, когда либо проявилось действие помехи в выходном сигнале, либо состояния обоих автоматов совпадут. 22
  • 23. Произведение автоматов Распределение вероятностнй входов X известно. Множество состяний автомата- {(si,sj f )}, i,j=1,..n {si }- состояния исправного автомата, {sj f } – автомат, подвергшийся действию помехи Время до самовосстановления (Self-healing time):
  • 24. Вероятностная модель  Цепь Маркова (ЦМ) Zt=(Xt, Yt), описывает совместное функционирование ЦМ Xt и Yt до момента, когда либо выходной сигнал неисправного автомата окажется отличным от выходного сигнала исправного автомата (проявилось действие помехи в выходном сигнале), либо состояния обоих автоматов совпадут.  Множества состояний S1,2, |S1,2| = n, обеих ЦМ одинаковы, начальные состояния X0, Y0, Y0 ≠ X0 детерминированы. Множество состояний ЦМ Zt представляет собой S = {(i,j), i,j = 1,…,n, j ≠ i} ∪ A0 ∪ A1, где состояние (i,j) означает, что исправный автомат находится в состоянии i, а неисправный – в состоянии j (отличном от состояния i исправного автомата), состояние  A1 – неправильное функционирование (в результате действия помехи) уже проявилась в выходном сигнале),  A0 – произошло восстановление траектории функционирования автомата до проявления эффекта помехи на выходе.  Число состояний этой ЦМ равно n(n – 1) + 2. Состояния A0 и A124
  • 25. 25
  • 26. Вычисление вероятности самовосстановления 26 D ектор начального распределения определяется начальными состояниями исправного и неисправного автоматов. Если исправный автомат в начальный момент 0 находится в состоянии i0 , а неисправный – в состоянии j0 ≠ i0 , то p(i0,j0) (0) = 1, а остальные координаты вектора нулевые. Матрица переходных вероятностей * вычисляется по известным вероятностям выполнения условных вершин Распределение времени t от прекращения действия помехи до самовосстановления:
  • 27. Пример вычисления переходных вероятности ЦМ Zt  Состояния A0 и A1 -вероятность остаться в каждом из этих состояний равна 1. (1,2) – исправный и неисправный автоматы находятся, соответственно, в состояниях a1и a2, (2,1) – в состояниях и a2 и a1.  Из состояния (1,2) в состояние A0 можно попасть только в том случае, когда поступит сигнал ¬ x1x2x3 с вероятностью q1p2p3. Тогда оба автомата (исправный и неисправный) перейдут в одно и тоже состояние a2, а выходной сигнал у обоих автоматов – y2,y4  из состояния (1,2) в состояние A1 можно попасть. если поступит сигнал x1 ¬x2 (с вероятностью p1q2, ), тогда выходной сигнал у исправного автомата y2y3, у неисправного – y2y4 (при этом исправный автомат переходит из состояния a1 в состояние a2, неисправный – из состояния a2 в состояние a1 ),либо, если поступит сигнал x1x2 ¬x3, выходной сигнал у исправного автомата –y2y4, , у неисправного – y1y2 (при этом оба автомата попадают в состояние a1 ), либо, если поступит сигнал ¬x1x2 ¬x3, тогда выходной сигнал у исправного автомата –y2y4 , у неисправного-y1y4 – (при этом исправный автомат: a1- a2, неисправный- a2-a1)
  • 28. 28 Методология совместной функциональной и надежностной верификации
  • 29. ASM диаграмма фазы выборки конвейеризированного процессора 29
  • 30. Входные данные программ верификации,генерируемые из ASM Таблица переходов автомата Микрооперации 30
  • 31. Анализ надежности Вероятности восстановления через t тактов после сбоя (1,2): SH = (0.0, 0.034, 0.46, 0.55, 0.64, 0.68), и после сбоя (5.2): S = (0.00, 0.79, 0.79, 0,85, 0.89, 0.92, 0.93 31