- •Глава 1. Теоретические аспекты автоматного программирования 4
- •1.1 Основные принципы и понятия автоматного программирования 4
- •2.2 Виды конечных автоматов 10
- •2.1 Описание конечного автомата 16
- •2.2 Примеры конечных автоматов 21
- •Введение
- •Теоретические аспекты автоматного программирования
- •1.1 Основные принципы и понятия автоматного программирования
- •1.2 Понятия конечного автомата
- •2.2 Виды конечных автоматов По способу формирования функций выхода выделяют автоматы Мили и Мура.
- •Глава 2 Конечный автомат как элемент автоматного программирования
- •2.1 Описание конечного автомата
- •2.2 Примеры конечных автоматов
- •Заключение
- •БИблиографический список
Заключение
Автоматное программирование, иначе называемое «программирование от состояний» или «программирование с явным выделением состояний» — это метод разработки программного обеспечения, основанный на расширенной модели конечных автоматов и ориентированный на создание широкого класса приложений.
Автоматное программирование имеет достаточно богатую историю развития. Различные аспекты и понятия, связанные с этой идеей, рассматривались в работах многих авторов с самых разных точек зрения и применительно к различным конкретным вопросам. Программирование от состояний рассматривается как один из основных стилей программирования. Однако полного и исчерпывающего изложения сути автоматного программирования как парадигмы и метода разработки программных систем в целом в настоящий момент нет.
Автоматное программирование широко применяется при построении лексических анализаторов (классические конечные автоматы) и синтаксических анализаторов (автоматы с магазинной памятью). Автоматы используются также и при решении многих других задач, например, при реализации протоколов.
В работе ставилась цель описать теоретическое значение и понятия автоматного программирования . Во второй главе приведены примеры конечных автоматов Миля и Мура.
БИблиографический список
Leveson N. G., Clark S. T. An Investigation of the Therac-25 Accidents. // IEEE Computer. 26(7):18-41, July 1993.
Дейкстра Э. Дисциплина программирования / Дал У., Дейкстра Э., Хоор К. Структурное программирование. М.: Мир. 1975.
Кларк Э., Грамберг О., Пелед Д. Верификация моделей программ: Model Checking. М.: МЦНМО, 2002. 416 с.
Pnueli A. The Temporal Logic of Programs // Proceedings of the 18th IEEE Symposium on Foundation of Computer Science. 1977.
Поликарпова Н., Шалыто А. Автоматное программирование. СПб.: Питер, 2009. 176 с.
Вельдер С. Э., Шалыто А. А. О верификации автоматных программ на основе метода Model Checking // Информационно-управляющие системы. 2007. № 3, с. 27–38.
Васильева К. А., Кузьмин Е. В. Верификация автоматных программ с использованием LTL // Моделирование и анализ информационных систем. Ярославль: ЯрГУ. 2007. Т. 14, № 1, с. 3–14.
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. 1999.
Бурдонов И. Б., Косачев А. С., Кулямин В. В. Неизбыточные алгоритмы обхода ориентированных графов. Детерминированный случай // Программирование. 2003, № 5.
1 Васильева К. А., Кузьмин Е. В. Верификация автоматных программ с использованием LTL // Моделирование и анализ информационных систем. Ярославль: ЯрГУ. 2007. Т. 14, № 1, с. 3–14.
2 Поликарпова Н., Шалыто А. Автоматное программирование. СПб.: Питер, 2009. 176 с.
3 Шень А. Программирование: теоремы и задачи. М.: МЦНМО, 1995.
