12.07.2015 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

129верификатором, и для верификации. Как было сказано выше, дляпреобразования в автоматы Бюхи используется библиотека LTL2BA [146].Преобразование темпоральных формул в автоматы Бюхи происходиттолько один раз – при запуске инструментального средства, так кактемпоральные формулы в процессе работы эволюционного алгоритма неизменяются. Этот класс, а также используемые им вспомогательныеклассы ModifiableAutomataContext и AutomataTransitionоснованы <strong>на</strong> исходном коде инструментального средства для верификацииавтоматных программ, описанного в работе [6].В процессе работы генетический алгоритм использует особь (классMealyFSM) и вычислитель функции приспособленности (классFitnessCalculator). Особь, в свою очередь, представле<strong>на</strong> <strong>на</strong>боромсостояний (класс Transition), а при вычислении функцииприспособленности используется <strong>на</strong>бор тестов, каждый из которыхпредставлен экземпляром класса Test.Класс MealyFSM соответствует описанному выше представлениюконечного автомата с действиями <strong>на</strong> переходах в виде особиэволюционного алгоритма, он хранит число состояний, <strong>на</strong>бор переходовдля каждого состояния, <strong>на</strong>бор входных событий и <strong>на</strong>бор выходныхвоздействий. В этом классе также реализованы операции мутации,скрещивания и алгоритм расстановки выходных воздействий. Этот классреализует интерфейс Individual, соответствующий особиэволюционного алгоритма, таким образом, при необходимости вдальнейшем инструментальное средство может быть расширено за счетдобавления других типов особей.Класс Transition хранит событие, по которому выполняетсяданный переход, условие перехода, число выходных воздействий, которыедолжны <strong>на</strong> нем вырабатываться, а также номер состояния, в которое ведетэтот переход. Кроме этого, он содержит массив, в который будут записаны

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!