Егоров К.В. Совместное применение генетического

advertisement
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Совместное применение генетического
программирования и верификации моделей для
построения автоматов управления системами со
сложным поведением
К. В. Егоров, гр. 6538
Научный руководитель – докт. техн. наук, проф., зав.
каф. ТП СПбГУ ИТМО А. А. Шалыто
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Решаемая проблема
Автоматное
программирование
 Часто эвристическое
построение автоматов
затруднено
 Построенные вручную
автоматы зачастую не
оптимальны
 Автоматизированное
построение конечных
автоматов с помощью
генетического
программирования

События
Выходные
воздействия
e1
z1
z2
e2
z2
z3
z4
Автоматизированный объект
управления
Автомат
Объект
управления
2/22
Параметры
эксперимента
Объект
управления
Набор тестов
Входные/выходные
переменные
Генетический
алгоритм
Поставщик
событий
Спецификация
События
Модель
автоматной
программы
Модель содержит ошибку
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Методика построения автоматных
программ на основе тестов
Верификация и
валидация
Модель
верна
3/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ




Верификация автоматных
программ
«Тестирование позволяет показать наличие
ошибок, но не их отсутствие» (Э. Дейкстра, 1970
г.)
Тесты позволяют описать поведение системы
только для конечного числа вариантов входных
данных
Верификация позволяет проверить соответствие
программы спецификации
Спецификация задается в виде набора формул
на языке темпоральной логики (LTL = Linear-Time
Logic)
4/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.
5/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Схема работы верификатора
LTL-формула
Автоматная
программа
Нет
Отрицание
формулы
Пересечение
автоматов
Автомат Бюхи
Язык
пересечен
ия пуст?
Да
Автоматная
программа верна
6/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Методика построения автоматных
программ на основе тестов и LTLформул
Параметры
эксперимента
Объект
управления
Набор тестов
Входные/выходные
переменные
Генетический
алгоритм
Поставщик
событий
Спецификация
Набор
темпоральных
свойств
События
Модель
автоматной
программы
7/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Особь алгоритма генетического
программирования
Списки переходов для
каждого состояния +
номер начального
1
состояния
Для каждого перехода
хранится событие, по
которому он выполняется,
и число выходных
4
воздействий, но не
хранятся выходные
воздействия
T/1
A/0
T/2
H/1
2
M/1
3
8/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Алгоритм расстановки
пометок
T / z5
T/1
1
A/0
T/2
4
H/1
2
1
T / z5, z7
M/1
3
A/
4
H / z4
2
M / z3
3
9/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Функция
приспособленности
n
Учет поведения
автомата на
тестах
ED( Output [i ], Answer [i ])
(1 
)

max(| Output [i ] |, | Answer [i ] |)
i 1
FF1 
n
n1 1
FF  FF1  FF1    (M  cnt)
n2 M
•ED – редакционное расстояние
•n1 – число верных формул
•n2 – общее число формул
•M – число, большее
максимального числа переходов
10/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Функция
приспособленности
n
Учет поведения
автомата на
тестах
ED( Output [i ], Answer [i ])
(1 
)

max(| Output [i ] |, | Answer [i ] |)
i 1
FF1 
n
n1 1
FF  FF1  FF1    ( M  cnt)
n2 M
•ED – редакционное расстояние
•n1 – число верных формул
•n2 – общее число формул
Учет числа переходов
•M – число, большее
максимального числа переходов
11/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Функция
приспособленности
n
Учет поведения
автомата на
тестах
ED( Output [i ], Answer [i ])
(1 
)

max(| Output [i ] |, | Answer [i ] |)
i 1
FF1 
n
n1 1
FF  FF1  FF1    ( M  cnt)
n2 M
•ED – редакционное расстояние
•n1 – число верных формул
•n2 – общее число формул
Учет LTL-формул
•M – число, большее
максимального числа переходов
12/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Учет верификации в функции
приспособленности
n
FFLTL



ti

n
i 1 T
n – число LTL-формул;
T – число достижимых переходов в особи;
ti – число верифицируемых переходов.
13/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Пример учета верификации в
функции приспособленности
3
FFi 
7
2
0
1
4
1
3 – число верифицируемых
переходов из первого
подмножества;
 7 – число переходов в
конечном автомате.

5
2
3
14/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ

Учет результата верификации
при скрещивании и мутации
Верификатор помечает путь в модели,
опровергающий формулу.
Удалить переход из контрпримера.
 Изменить входное воздействие, количество выходных
или состояние в которое перейдет автомат.


Когда верификатор покидает вершину при
обходе в глубину, он помечает все исходящие
переходы.
Такие переходы соответствуют LTL-формуле.
 Подграф из таких переходом может перейти в новую
особь без изменений при кроссовере.

15/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Пример верификации
G(!wasEvent(T))
1
1
wasEvent(T)
Init
1
2
X
Автомат Бюхи, построенный по
отрицанию формулы
0
Y
4
1
1
Y
T
5
M
2
L
N
3
16/22
Пример скрещивания с учетом
верификации
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
0
0
2
4
1
1
3
5
2
4
3
5
0
0
2
1
1
5
3
4
4
2
3
5
17/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))))
18/22
Построенные автоматы
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Тесты + верификация
Только тесты
5
e11 / z1
e4 / z3
e12
1
e2
2
e4 / z3
e4 / z3
3
e2
1
e11 / z1
2
e2
e3/ z1
e2
4
e12 / z2
3
e3 / z1
e12 / z2
После поломки
дверей может быть
отдана команда на их
закрытие!
19/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ


Показатели
производительности
Измерялось число вычислений функции приспособленности
1000 экспериментов
Лифт
Часы с будильником
Тесты
Тесты и
формулы
Тесты
Тесты и
формулы
Среднее
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
20/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Результаты работы
Предложен метод построения конечных автоматов с заранее
заданным поведением на основе генетических алгоритмов.
 На основе тестовых примеров
 На основе темпоральных свойств
 Учет верификации на этапах:
 вычисления функции приспособленности;
 скрещивания;
 мутации.
 Построение автомата управления дверьми лифта.
 Построение автомата управления часами с будильником.

21/22
ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ
Спасибо за внимание!
Спасибо за внимание!
22/22
Download