Построение управляющих конечных автоматов по сценариям работы на основе решения задачи удовлетворения ограничений



© 2013, В.И. Ульянцев

Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики

Полный текст работы
Презентация

Аннотация

Настоящая диссертация направлена на повышение уровня автоматизации производства программного обеспечения­– предложен метод построения управляющих автоматов по сценариям работы программы, основанный на методах решения задачи удовлетворения ограничений.

В диссертации проведен аналитический обзор работ по построению автоматных моделей по обучающим примерам, обзор существующих методов решения задачи удовлетворения ограничений. Обзор показал, что методы удовлетворения ограничений ранее не применялись для построения автоматных моделей. Также был произведен выбор библиотеки Choco для решения задачи удовлетворения ограничений.

Была произведена разработка и реализация метода построения управляющих автоматов. Разработанный метод состоит из пяти этапов: построение дерева сценариев, построение графа совместимости, построение ограничений на целочисленные переменные, решение задачи удовлетворения построенных ограничений и, наконец, построение искомого автомата, в случае его существования. Предлагаемый подход оперирует с тремя типами целочисленных переменных, пятью типами ограничений на данные переменные. Разработка проводилась на языке программирования Java. Части разработанного средства зарегистрированы: получено свидетельство о регистрации программы для ЭВМ.

Качественное отличие предложенного метода от существующих заключается в предоставлении возможности построения управляющих автоматов, удовлетворяющих требованию полноты. Экспериментальные исследования показали, что метод показывает высокую производительность на различных задачах, справляясь с большинством задач менее, чем за минуту работы персонального компьютера. Также существуют задачи построения автоматов, удовлетворяющих требованию полноты, которые вычисляются несколько часов – построенные ограничения в данных случаях непросто разрешить даже современным производительным методам решения задачи удовлетворения ограничений.