23
Верификация программно-конфигурируемых сетей при помощи системы UPPAAL В.В. Подымов, У.В. Попеско МГУ им. М.В. Ломоносова 2013 В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 1 / 22

TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Embed Size (px)

Citation preview

Page 1: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Верификация программно-конфигурируемых сетейпри помощи системы UPPAAL

В.В. Подымов, У.В. Попеско

МГУ им. М.В. Ломоносова

2013

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 1 / 22

Page 2: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

План

ВведениеЦельСхема верификацииФормальная модельАлгоритм трансляцииКорректность алгоритмаЭкспериментальное исследование

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 2 / 22

Page 3: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Введение. ПКС

Отделение уровня управления от устройств в узлах сетиПрограммное управление сетьюСтандарт Openflow

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 3 / 22

Page 4: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Введение. ПКСПример работы сети

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 4 / 22

Page 5: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Введение. ПКСПример работы сети

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 5 / 22

Page 6: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Введение. ПКСПример работы сети

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 6 / 22

Page 7: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Введение. ПКСПример работы сети

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 7 / 22

Page 8: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Введение. ПКСПравило

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 8 / 22

Page 9: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Введение. UPPAAL

Входная модель — сеть временных автоматовПроверяет формулы логики TCTL

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 9 / 22

Page 10: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Цель

Разработать метод верификации ПКСкак распределённых систем реального времени

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 10 / 22

Page 11: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Схема верификации

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 11 / 22

Page 12: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Формальная модельДиаграммы UML

Диаграммы Dia

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 12 / 22

Page 13: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Формальная модель

Формализация всех элементов диаграммы:I коммутаторI контроллерI каналI заголовок пакетаI . . .

Формальная семантика сети:I конечное число управляющих состояний элементов диаграммы

(коммутаторов, контроллера, каналов)I локальные таймеры

(бесконечное число значений)I состояние сети:

совокупность управляющих состояний и значений таймеровI сценарии работы сети:

система переписывания

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 13 / 22

Page 14: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Формальная модельПримеры правил переписывания

Применение коммутатором правила r = (p, h, x , p′) ∈ Rule(t ∈ [L,R]):Com(select,Rule, t, h, p)→ Com(hit,Rule, h, p′),

Отправка коммутатором пакета в канал:Com(hit,Rule, h, p),Chan(empty)→

Com(start,Rule),Chan(full , 0, h)

Получение коммутатором пакета:Com(start,Rule),Chan(sent, h)→

Com(select, 0,Rule, h, p),Chan(empty)

Продвижение времени:все таймеры сдвигаются на одну и ту же величину, если системане может “прогрессировать”

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 14 / 22

Page 15: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Алгоритм трансляции

Вход: UML-диаграмма

Выход: сеть временных автоматов UPPAAL

Принцип работы:

канал −→ переменные + таймерконтроллер −→ временной автоматкоммутатор −→ временной автоматвспомогательные автоматы

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 15 / 22

Page 16: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Алгоритм трансляцииАвтомат коммутатора

select

t <= 5 miss

hit

rewrite

t <= 3

start

rule_t[r] >= rule_max[r]active[r] = false

t >= 3

i = 0..3 -> active[i]

i = 0..3!active[i]

!c[r]hurry!send(c[r], h)

hurry!send(to_con[0], (p, h))

i = 1..3 -> active[i]

(i = 0..3)active[i] && (rule_t[i] > rule_max[i])active[i] = false

i = 0..3 -> !active[i]|| (rule_t[i] <= rule_max[i] )

i = 0..3 -> !hit(rule[i])

(i = 0..3)(t >= 2) && !active[i]set_rule(i)

from_con[0]hurry!get(from_con[0]),t = 0

rule_t[r] < rule_max[r](i = 0..3)hit(rule[i])r = i

(i = 1,4,5)c_ready[i]hurry!get(c[i]), p = i, t = 0

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 16 / 22

Page 17: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Алгоритм трансляцииАвтомат контроллера

send

idle

!con_in[c]hurry!send(from_con[c], rule[r])

i = 0..2 -> !hit(rule[i], (c, p, h))

(i = 0..2)hit(r[i], (c, p, h))

r = i

(i = 0..2) to_con_ready[i]hurry! get(to_con[i]), c = i

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 17 / 22

Page 18: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Алгоритм трансляцииВспомогательные автоматы

s1

(i = 0..2 -> ok(to_con[i])) &&(i = 1..9 -> ok(c[i]))

(i = 1..9)to_deliver(c[i])c_ready[i]

(i = 0..2)to_deliver(to_con[i])to_con_ready[i])

s1 c[0]hurry!c[0] = false

hurry?

s1 (i = 1..3, num = 1..3)!c[num]hurry!send(c[num], i)

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 18 / 22

Page 19: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Корректность алгоритма

Теорема (например, Кларк, Грамберг, Пелед. 2002)Если системы переходов M1, M2 эквивалентны по прореживанию иформула Φ логики LTL−X истинна для M1, то она также истинна дляM2.

ТеоремаПусть N — произвольная ПКС. Тогда системы переходов TSN иTSAlg(N) эквивалентны по прореживанию.

СледствиеАлгоритм Alg корректен.

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 19 / 22

Page 20: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Корректность алгоритма

Теорема (например, Кларк, Грамберг, Пелед. 2002)Если системы переходов M1, M2 эквивалентны по прореживанию иформула Φ логики LTL−X истинна для M1, то она также истинна дляM2.

ТеоремаПусть N — произвольная ПКС. Тогда системы переходов TSN иTSAlg(N) эквивалентны по прореживанию.

СледствиеАлгоритм Alg корректен.

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 19 / 22

Page 21: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Экспериментальное исследование1 Отсутствие блокировки сети:

A[] not deadlock2 Постоянное поступление пакетов из внешней среды:

A <> forall(num : int[0, 2]) (channel_h[stream.align[num]])3 Коммутатор может не принять ни одного пакета:

E [] com1.start4 Хотя бы один пакет будет обработан контроллером:

E <> !con.idle5 Хотя бы один пакет успешно перенаправится коммутатором:

E <> com1.hit

Свойство номер:1 2 3 4 5

2 комм., пустые таблицы 27ч. 1с. 1с. 1с. 1с.3 комм., кольцо - 1с. 1с. 7с. 1с.4 комм., звезда - 1с. 1с. 62с. 85с.

4 комм. - 1с. 1с. 60с. 79с.В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 20 / 22

Page 22: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Результаты

Предложена формальная модель ПКС как СРВ:I UML-диаграммыI система переписывания

Разработан (и реализован) метод верификации ПКС как СРВ:I алгоритм трансляции UML-диаграмм в сети временных автоматовI корректность алгоритма

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 21 / 22

Page 23: TMPA-2013 Popesko: Verification of Programmable and Configurable Networks Using the UPPAAL System opesko

Конец

В.В. Подымов, У.В. Попеско (МГУ) Верификация ПКС при пом. UPPAAL 2013 22 / 22