Читать курсовая по Отсутствует: "Применение автоматного программирования в жизненной практике" Страница 10

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

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

пусть q1=q0 и a= (x2x3x2x3x3x1x2x4), тогда

[t]:x2[1] x3[2] x2[3] x3[4] x3[5] x1[6] x2[7] x4[8][t+1]:q1[1] q3[2] q1[3] q3[4] q1[5] q4[6] q4[7] q1[8] q1[9][t]:y1[1] y2[2] y1[3] y2[4] y1[5] y1[6] y1[7] y1[8],

то есть b= (y1y2y1y2y1y1y1y1); пусть q2=q0 и a= (x2x3x1x4x4x3x2x1), тогда

a[t]:x2[1] x3[2] x1[3] x4[4] …[t+1]:q2[1] q4[2] q2[3] * [4] …[t]:* [1] y1[2] * [3] …, то есть b= (*y1* … и автомат "зависает" на четвертом символе слова a;

пусть q1=q0 и a= (x1x2x3x3x1x3x1x3), тогда

[t]:x1[1] x2[2] x3[3] x3[4] x1[5] x3[6] x1[7] x3[8][t+1]:q1[1] q2[2] q4[3] q2[4] q1[5] q2[6] q1[7] q2[8] q1[9][t]:y1[1] *[2] y1[3] * [4] y1[5] * [6] y1[7] * [8], то есть b=(y1*y1*y1*y1*) содержит четыре символа про"*";

пусть q2=q0 и a= (x1x4x3x2x3x2x4x4), тогда

[t]: x1[1] x4[2] …[t+1]: q2[1] * [2] …[t]:* …, то есть b= (* … и автомат "зависает" на втором символе слова a.

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

Заключение

Автоматное программирование, иначе называемое "программирование от состояний" или "программирование с явным выделением состояний" - это метод разработки программного обеспечения, основанный на расширенной модели конечных автоматов и ориентированный на создание широкого класса приложений.

Автоматное программирование имеет достаточно богатую историю развития. Различные аспекты и понятия, связанные с этой идеей, рассматривались в работах многих авторов с самых разных точек зрения и применительно к различным конкретным вопросам. Программирование от состояний рассматривается как один из основных стилей программирования. Однако полного и исчерпывающего изложения сути автоматного программирования как парадигмы и метода разработки программных систем в целом в настоящий момент нет.

Автоматное программирование широко применяется при построении лексических анализаторов (классические конечные автоматы) и синтаксических анализаторов (автоматы с магазинной памятью). Автоматы используются также и при решении многих других задач, например, при реализации протоколов.

В работе ставилась цель описать теоретическое значение и понятия автоматного программирования. Во второй главе приведены примеры конечных автоматов Миля и Мура.

Библиографический список

1. Leveson N.G., Clark S.T. An Investigation of the Therac-25 Accidents. // IEEE Computer. 26(7):18-41, July 1993.

. Дейкстра Э. Дисциплина программирования / Дал У., Дейкстра Э., Хоор К. Структурное программирование. М.: Мир. 2011.

. Кларк Э., Грамберг О., Пелед Д. Верификация моделей программ: Model Checking. М.: МЦНМО, 2012. 416 с.

4. Pnueli A. The Temporal Logic of Programs // Proceedings of the 18th IEEE Symposium on Foundation of Computer Science. 2007.

. Поликарпова Н., Шалыто А. Автоматное программирование. СПб.: Питер, 2009. 176 с.

. Вельдер С.Э., Шалыто А.А. О верификации автоматных программ на основе метода Model Checking // Информационно-управляющие системы. 2012. №3, с. 27-38.

. Васильева К.А., Кузьмин Е.В. Верификация автоматных программ с использованием LTL // Моделирование и анализ информационных систем. Ярославль: ЯрГУ. 2007. Т. 14, №1, с. 3-14.

8. Abran A., Swebok M.J. Guide to the Software Engineering Body of Knowledge. http://www.swebok.org/

. Kaner C., Falk J., Nguyen Q. Testing Computer Software. NY: Wiley. 2009.

. Бурдонов И.Б., Косачев А.С., Кулямин В.В. Неизбыточные алгоритмы обхода ориентированных графов. Детерминированный случай // Программирование. 2010, №5.


Интересная статья: Основы написания курсовой работы