6ВВЕДЕНИЕАктуальность проблемы. В последнее время при разработкепрограммного обеспечения (ПО) для управляющих систем все ширеприменяется автоматное программирование [22, 27] – парадигмапрограммирования, при использовании которой программу предлагаетсястроить как совокупность автоматизированных объектов управления,каждый из которых содержит систему управления (один или нескольковзаимодействующих управляющих <strong>конечных</strong> <strong>автоматов</strong>) и объектуправления.Объект управления характеризуется множеством вычислительныхсостояний, а также двумя <strong>на</strong>борами функций: множествомпредикатов (они же являются входными переменными или входнымивоздействиями автомата), отображающих вычислительное состояние влогическое з<strong>на</strong>чение (исти<strong>на</strong> или ложь), и множеством воздействий,позволяющих изменять вычислительное состояние, которые являютсявыходными воздействиями автомата. Кроме этого, внешняя среда можетгенерировать события, которые поступают <strong>на</strong> вход управляющегоконечного автомата.Управляющий конечный автомат определяется конечныммножеством управляющих состояний, функцией переходов и функциейвыходных воздействий (выходов). Функция переходов зависит от события,<strong>на</strong>бора з<strong>на</strong>чений входных переменных и текущего состояния автомата.З<strong>на</strong>чением этой функции является номер состояния, в которое долженперейти автомат. Функция выходных воздействий в общем случае такжезависит от события, <strong>на</strong>бора з<strong>на</strong>чений входных переменных и текущегосостояния автомата. З<strong>на</strong>чением этой функции является <strong>на</strong>бор выходныхвоздействий <strong>на</strong> объект управления.Главное отличие управляющих <strong>конечных</strong> <strong>автоматов</strong> от других типов<strong>конечных</strong> <strong>автоматов</strong> (<strong>конечных</strong> преобразователей и распоз<strong>на</strong>вателей)
7состоит в том, что в них в пометки переходов входят не отдельныевходные воздействия, а булевы формулы из них. Именно такие автоматы ирассматриваются в <strong>на</strong>стоящей диссертации.Взаимодействие между автоматами может осуществлятьсяразличными способами: за счет вложенности <strong>автоматов</strong>, с помощьюобме<strong>на</strong> сообщениями, с помощью обме<strong>на</strong> номерами состояний и т. д.При использовании автоматного программирования существенноупрощается (по сравнению с программами, <strong>на</strong>писанными традиционнымиметодами) верификация программ с использованием метода Model checking[6, 9, 125, 56], так как построение модели Крипке по автоматнойпрограмме может быть автоматизировано [125]. Кроме этого, прииспользовании инструментальных средств для поддержки автоматногопрограммирования таких, как, <strong>на</strong>пример, UniMod [3], до 70% исходногокода автоматной программы может быть сгенерировано автоматически [27,137]. Уровень автоматизации программирования этого класса программстанет з<strong>на</strong>чительно выше, если удастся автоматизировать процесс<strong>построения</strong> управляющих <strong>конечных</strong> <strong>автоматов</strong>, что и является предметомисследования в <strong>на</strong>стоящей работе.В последнее десятилетие активно развивается область исследований,<strong>на</strong>зываемая поисковая инженерия ПО (Search-Based Software Engineering,SBSE) [45, 69 – 71], в рамках которой для решения задач программнойинженерии (включая а<strong>на</strong>лиз требований [37, 121], прогнозирование ходаразработки [30], проектирование [110], тестирование [34, 67, 93] ирефакторинг [68, 106]) предлагается применять алгоритмы поисковойоптимизации. В число методов, которые <strong>на</strong>шли применение в поисковойинженерии ПО [69], входят эволюционные алгоритмы [7] (генетическиеалгоритмы [2, 11, 12, 43], генетическое программирование [84] иэволюционные стратегии [40]), а также муравьиные алгоритмы [49],метод роя частиц [82], метод имитации отжига [94], метод спуска [66],
- Page 1 and 2: Санкт-Петербургски
- Page 3 and 4: 32.1. МЕТОД ПОСТРОЕНИ
- Page 5: 5ВЫВОДЫ ПО ГЛАВЕ 4 ...
- Page 9 and 10: 9спуска. Так как мет
- Page 11 and 12: 11автоматического п
- Page 13 and 14: 135. Разработать инс
- Page 15 and 16: 15беспилотными лета
- Page 17 and 18: 17Публикации. По тем
- Page 19 and 20: 19ГЛАВА 1. АВТОМАТНО
- Page 21 and 22: 21входных переменны
- Page 23 and 24: 23определенных знач
- Page 25 and 26: 25воздействие со ст
- Page 27 and 28: 27Рис. 4. Внешний вид
- Page 29 and 30: 29Начальным состоян
- Page 31 and 32: 31Первый из них (мод
- Page 33 and 34: 33 F (Future) - «F p» верно,
- Page 35 and 36: 351.2. ПОИСКОВАЯ ИНЖЕ
- Page 37 and 38: 373. Применение мето
- Page 39 and 40: 39Инициализация -ге
- Page 41 and 42: 411.2.4. Генетические
- Page 43 and 44: 43Инициализация -ге
- Page 45 and 46: 451/1 1/11/11/00/10/11/00/10/01/0Р
- Page 47 and 48: 47Рис. 13. Поле с ябло
- Page 49 and 50: 49операторов скрещи
- Page 51 and 52: 51Рис. 16. Область вид
- Page 53 and 54: 53 внутренние узлы п
- Page 55 and 56: 55описании операции
- Page 57 and 58:
57производился обме
- Page 59 and 60:
59того чтобы отлича
- Page 61 and 62:
61функции переходов
- Page 63 and 64:
63В работе [89] также
- Page 65 and 66:
65обучающие наборы,
- Page 68 and 69:
68обозначена функци
- Page 70 and 71:
70темпоральных форм
- Page 72 and 73:
72генетическогокон
- Page 74 and 75:
74GeneticProgrammingwith FitnessС
- Page 76 and 77:
766. Внедрить разраб
- Page 78 and 79:
78Опишем структуру
- Page 80 and 81:
80Например, для авто
- Page 82 and 83:
82необходимо исполь
- Page 84 and 85:
84тестов, на переход
- Page 86 and 87:
86 Изменение событи
- Page 88 and 89:
88`поколения ко всем
- Page 90 and 91:
902.2. МЕТОД ВЫПОЛНЕН
- Page 92 and 93:
92режимах. Тесты, оп
- Page 94 and 95:
94Input: A, A, A, A, T, T, T, TAnsw
- Page 96 and 97:
96Input: A, A, T [!x 1 & !x 2 ],T [
- Page 98 and 99:
98T [x 1 & !x 2 ], A, A, TAnswer: z
- Page 100 and 101:
100Рис. 23. Распределе
- Page 102 and 103:
102Рис. 27. Распределе
- Page 104 and 105:
104По результатам ст
- Page 106 and 107:
106Таблица 9. Минимал
- Page 108 and 109:
108приспособленност
- Page 110 and 111:
110Отметим также, чт
- Page 112 and 113:
112Таблица 12. Тесты д
- Page 114 and 115:
114G(wasEvent(e 4 ) wasAction(z 3
- Page 116 and 117:
116G( wasAction(z 1 ) =>X[U(!wasAct
- Page 118 and 119:
1182.5.1.3. Результаты э
- Page 120 and 121:
1204. Проведено экспе
- Page 122 and 123:
122содержать тесты д
- Page 124 and 125:
124В первом случае н
- Page 126 and 127:
1263.2.2. Формат выходн
- Page 128 and 129:
128Класс Starter являет
- Page 130 and 131:
130выходные воздейс
- Page 132 and 133:
132входными парамет
- Page 134 and 135:
134Напомним, что каж
- Page 136 and 137:
136а) б)в) г)д) е)ж) з)
- Page 138 and 139:
2 (1O i138Для упрощения
- Page 140 and 141:
Здесь140 i - множеств
- Page 142 and 143:
142cnt i cnt i... cnt iL1[t]i[t]u2[
- Page 144 and 145:
144ni1~Aii, j,gмаксимальн
- Page 146 and 147:
1460 -> 0 e 8 [not x 8 ] 0 0 0.0000
- Page 148 and 149:
148Отсутствие перех
- Page 150 and 151:
150ж) з)и) к)л)Рис. 37. К
- Page 152 and 153:
152Для решаемой зада
- Page 154 and 155:
154 algorithms/simple.jar - ген
- Page 156 and 157:
156Для подключения м
- Page 158 and 159:
158BRAINPlugin-Description-HTML des
- Page 160 and 161:
1604.2.2.2. Правила напи
- Page 162 and 163:
162Целью лабораторн
- Page 164 and 165:
164учебный процесс.
- Page 166 and 167:
16610. Кормен Т., Лейзе
- Page 168 and 169:
16828. Шалыто А. А. Switch-
- Page 170 and 171:
17046. Das R., Mitchell M., Crutchf
- Page 172 and 173:
17267. Harman M. Automated Test Dat
- Page 174 and 175:
17486. Larranaga P., Lozano J. A. E
- Page 176 and 177:
176106. O’Keeffe M., O’Cinneide
- Page 178 and 179:
178РЕСУРСЫ СЕТИ ИНТЕ
- Page 180 and 181:
180134. Данилов В. Р. Те
- Page 182 and 183:
182152. Царев Ф. Н., Але
- Page 184 and 185:
184162. Tsarev F., Alexandrov A., S
- Page 186 and 187:
186ПРИЛОЖЕНИЕ 1. СВИД
- Page 188 and 189:
188
- Page 190 and 191:
190состояния, в кото
- Page 192 and 193:
192T / 00A / 20A / 2H / 11H / 11T /
- Page 194 and 195:
194«родительских» о
- Page 196:
196Из графика видно,