К. В. Егоров, гр. 6538

22
ГОСУДАРСТВЕННЫ Й УНИВЕРСИТЕТ Совместное применение генетического программирования и верификации моделей для построения автоматов управления системами со сложным поведением К. В. Егоров, гр. 6538 Научный руководитель – докт. техн. наук, проф., зав. каф. ТП СПбГУ ИТМО А. А. Шалыто

Upload: michael-middleton

Post on 01-Jan-2016

49 views

Category:

Documents


2 download

DESCRIPTION

Совместное применение генетического программирования и верификации моделей для построения автоматов управления системами со сложным поведением. К. В. Егоров, гр. 6538 Научный руководитель – докт. техн. наук , проф., зав. каф. ТП СПбГУ ИТМО А. А. Шалыто. Автоматное программирование - PowerPoint PPT Presentation

TRANSCRIPT

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Совместное применение генетического программирования и верификации моделей для построения автоматов управления системами со

сложным поведением

К. В. Егоров, гр. 6538

Научный руководитель – докт. техн. наук, проф., зав. каф. ТП СПбГУ ИТМО А. А. Шалыто

2/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Решаемая проблема

Автоматное программирование

Часто эвристическое построение автоматов затруднено

Построенные вручную автоматы зачастую не оптимальны

Автоматизированное построение конечных автоматов с помощью генетического программирования

e1

e2

z1

z3

СобытияВыходные

воздействия

z2

z4

z2

АвтоматОбъект

управления

Автоматизированный объект управления

3/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Методика построения автоматных программ на основе тестов

Объект управления

Поставщик событий

Набор тестовВходные/выходные переменные

События

Генетический алгоритм

Параметры эксперимента

Модель автоматной программы

Верификация и валидация

Мод

ель

сод

ерж

ит

оши

бку

Модель верна

Спецификация

4/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Верификация автоматных программ

«Тестирование позволяет показать наличие ошибок, но не их отсутствие» (Э. Дейкстра, 1970 г.)

Тесты позволяют описать поведение системы только для конечного числа вариантов входных данных

Верификация позволяет проверить соответствие программы спецификации

Спецификация задается в виде набора формул на языке темпоральной логики (LTL = Linear-Time Logic)

5/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Темпоральные операторы языка LTL

X (neXt) – «Xp» – в следующий момент выполнено p; F (in the Future) – «Fp» – в некоторый момент в будущем

будет выполнено p; G (Globally in the future) – «Gp» – всегда в будущем

выполняется p; U (Until) – «pUq» – существует состояние, в котором

выполнено q и во всех предыдущих выполняется p; R (Release) – «pRq» – либо во всех состояниях выполняется

q, либо существует состояние, в котором выполняется p, а во всех предыдущих выполнено q.

6/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Схема работы верификатора

Да

Нет

LTL-формула Автоматная программа

Пересечение автоматов

Язык пересечения пуст?

Автоматная программа верна

Отрицание формулы

Автомат Бюхи

7/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Методика построения автоматных программ на основе тестов и LTL-формул

Объект управления

Поставщик событий

Набор тестов

Набор темпоральных

свойств

Входные/выходные переменные

События

Генетический алгоритм

Параметры эксперимента

Модель автоматной программы

Спецификация

8/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Особь алгоритма генетического программирования

Списки переходов для каждого состояния + номер начального состояния

Для каждого перехода хранится событие, по которому он выполняется, и число выходных воздействий, но не хранятся выходные воздействия

1

4 3

2A / 0

T / 1

M / 1

H / 1

T / 2

9/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

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

1

4 3

2A /

T / z5

M / z3

H / z4

T / z5, z7

1

4 3

2A / 0

T / 1

M / 1

H / 1

T / 2

10/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Функция приспособленности

n

ii

iin

i

)|)][Answer||,][Outputmax(|

])[Answer],[OutputED(1(

FF 11

cnt)M(1

FFFFFF2

111

Mn

n

Учет поведения автомата на тестах

•ED – редакционное расстояние

•n1 – число верных формул

•n2 – общее число формул

•M – число, большее максимального числа переходов

11/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Функция приспособленности

n

ii

iin

i

)|)][Answer||,][Outputmax(|

])[Answer],[OutputED(1(

FF 11

cnt)(1

FFFFFF2

111 M

Mn

n

Учет поведения автомата на тестах

•ED – редакционное расстояние

•n1 – число верных формул

•n2 – общее число формул

•M – число, большее максимального числа переходов

Учет числа переходовУчет числа переходовУчет числа переходов

12/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Функция приспособленности

n

ii

iin

i

)|)][Answer||,][Outputmax(|

])[Answer],[OutputED(1(

FF 11

cnt)(1

FFFFFF2

111 M

Mn

n

Учет поведения автомата на тестах

Учет LTL-формул

•ED – редакционное расстояние

•n1 – число верных формул

•n2 – общее число формул

•M – число, большее максимального числа переходов

Учет LTL-формулУчет LTL-формул

13/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Учет верификации в функции приспособленности

n – число LTL‑формул; T – число достижимых переходов в особи; ti – число верифицируемых переходов.

nTt

FF1

LTL

n

i

i

14/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Пример учета верификации в функции приспособленности

0

4

5

1

2 3

1

2

3 – число верифицируемых переходов из первого подмножества;

7 – число переходов в конечном автомате.

7

3FFi

15/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Учет результата верификации при скрещивании и мутации

Верификатор помечает путь в модели, опровергающий формулу. Удалить переход из контрпримера. Изменить входное воздействие, количество выходных

или состояние в которое перейдет автомат. Когда верификатор покидает вершину при

обходе в глубину, он помечает все исходящие переходы. Такие переходы соответствуют LTL-формуле. Подграф из таких переходом может перейти в новую

особь без изменений при кроссовере.

16/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Пример верификации G(!wasEvent(T))

Автомат Бюхи, построенный по отрицанию формулы

wasEvent(T)Init 1

11

0

4

5

1

2 3

X

Y

T

Y

M

N

L

1

2

17/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Пример скрещивания с учетом верификации

0

4

5

1

2 3

0

1

2

3

4

5

1

2 3

2

3

4

5

0

1

4

0

5

18/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Пример – система управления дверьми лифта

Пять событий, три выходных воздействия Девять тестов Одиннадцать LTL-формул:

G(wasEvent(e11) => wasAction(z1)) – начать открытие дверей после того, как нажата кнопка «Открыть двери»

G(wasEvent(e4) <=> wasAction(z3)) G(wasEvent(e3) => wasAction(z1)) G(wasEvent(e11) => X(wasEvent(e4) or wasEvent(e2))) –

если нажали «Кнопку открыть двери», то следующим событием будет либо e2 (открывание дверей успешно завершено) или e4 (двери заклинило)

G(wasAction(z1) => X(!wasAction(z1) U(wasAction(z2) or wasEvent(e4))))

19/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Построенные автоматы

21

3

e4 / z3

4

5

e2

e11 / z1

e2

e12 / z2

e3/ z1

e4 / z3

Только тесты Тесты + верификация

После поломки дверей может быть

отдана команда на их закрытие!

21 3

e12 / z2

e12

e4 / z3

e3 / z1

e2

e2

e11 / z1

20/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Показатели производительности

Лифт Часы с будильником

ТестыТесты и

формулыТесты

Тесты и формулы

Среднее 7.479 × 104 7.246 × 105 1.45 × 106 1.832 × 106

Среднеквадратичное отклонение

2.54 × 104 7.729 × 105 1.106 × 106 1.662 × 106

Минимальное 2.184 × 104 7.054 × 104 2.561 × 105 2.038 × 105

Максимальное 2.999 × 105 5.492 × 106 9.24 × 106 1.301 × 107

Измерялось число вычислений функции приспособленности 1000 экспериментов

21/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Результаты работы

Предложен метод построения конечных автоматов с заранее заданным поведением на основе генетических алгоритмов. На основе тестовых примеров На основе темпоральных свойств

Учет верификации на этапах: вычисления функции приспособленности; скрещивания; мутации.

Построение автомата управления дверьми лифта. Построение автомата управления часами с будильником.

22/22

ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ

Спасибо за внимание!

Спасибо за внимание!