Avtomatnoe_programming_Shaljito
.pdfпри создании программного обеспечения для мобильных роботов [142] и
автоматизации документооборота [143].
Автор надеется, что парадигма автоматного программирования, изложенная в этой книге, станет «каркасом» для дальнейших исследований в области использования автоматов в программировании.
Автор признателен Дмитрию Александровичу Поспелову, в ходе беседы с которым в 1998 году на конференции по мультиагентным системам, проходившей в поселке Ольгино под Санкт-Петербургом, родился термин (см. введение к работе [11]),
который использован в названии настоящей статьи. На английский язык этот термин переводится как «Automata-Based Programming». Он был предложен в работе [144], а
парадигма автоматного программирования – в работе [145].
31
Список литературы
1.Дейкстра Э. Смиренный программист // Лекции лауреатов премии Тьюринга за первые двадцать лет. 1966–1985. М.: Мир, 1993.
2.Кнут Д. Искусство программирования. Том. 1. Основные алгоритмы. М.: Вильямс, 2000.
3.Software Engineering. Germany: NATO Science Committee, 1968. http://www.europrog.ru/book/nato1968e.pdf
4.Software Engineering Techniques. Italy: NATO Science Committee, 1969. http://www.europrog.ru/book/nato1969e.pdf
5.Брукс Ф. Мифический человеко-месяц или как создаются программные системы. СПб.: Символ, 2000.
6.Software Engineering 2006. ETH Zurich. Chair of Software Engineering.
7.Черняк Л. Адаптируемость и адаптивность // Открытые системы. 2004. № 9.
8.Cai Kai-Yuan, Chen T. Y., Tse T. H. Towards Research on Software Cybernetics
/Proceedings of 7th IEEE International on High-assurance Systems Engineering (HASE 2002). Los Alamitos. IEEE Computer Society Press, 2002.
9.Шалыто А. А. Программная реализация управляющих автоматов // Судостроительная промышленность. Серия «Автоматика и телемеханика». 1991. Вып. 13.
10.Яковлев В. Б. Автоматика, кибернетика, информатика, синергетика / Труды конференции «Пятьдесят лет развития кибернетики». СПбГТУ, 1999.
11.Шалыто А. А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.
12.Harel D. Biting the Silver Bullet: Toward a Brighter Future for System Development //
Computer. 1992. № 1.
13.Непейвода Н. Н. Стили и методы программирования. М.: Интернет-университет информационных технологий, 2005.
14.Ахо А., Сети Р., Ульман Д. Компиляторы. Принципы, технологии, инструменты. М.: Вильямс, 2001.
32
15.Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений. М.: Вильямс, 2002.
16.Непейвода Н. Н., Скопин И. Н. Основания программирования. М.-Ижевск: Институт компьютерных исследований, 2003.
17.Harel D. et al. Statemate: A Working Environment for the Development of Complex Reactive Systems // IEEE Trans.Software Eng. 1990. № 4.
18.Принг Э. Конечные автоматы в JavaScript, Часть 1: Разработаем виджет. http://www.ibm.com/developerworks/ru/library/wa-finitemach1/index.html
19.Принг Э. Конечные автоматы в JavaScript, Часть 2: Реализация виджета. http://www.ibm.com/developerworks/ru/library/wa-finitemach2/wa-finitemac_ru.html
20.Шалыто А. А., Туккель Н. И. От тьюрингова программирования к автоматному // Мир ПК. 2002. № 2.
21.Хопкрофт Д. Машины Тьюринга // В мире науки. 1984. № 7.
22.Карпов Ю. Г. Теория автоматов. СПб.: Питер, 2002.
23.Шалыто А. А. Автоматное программирование / Тезисы докладов Международной научной конференции памяти профессора А.М. Богомолова «Компьютерные науки и информационные технологии». Саратов: СГУ, 2007.
24.Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. М.: Бином, СПб.: Невский диалект, 1998.
25.Лавров С. Н. Программирование. Математические основы, средства, теория. СПб.: БХВ-Петербург, 2001.
26.Туккель Н. И., Шамгунов Н. Н., Шалыто А. А. Ханойские башни и автоматы // Программист. 2002. № 8.
27.Глушков В. М. Синтез цифровых автоматов. М.: Физматгиз, 1962.
28.Гаврилов М. А., Девятков В. В., Пупырев Е. И. Логическое проектирование дискретных автоматов. М.: Наука, 1977.
29.Shalyto A. A. Cognitive Properties of Hierarchical Representations of Complex Logical Structures / Proceeding of the 1995 International Symposium on Intelligent Control (ISIC). Workshop. 1995. Monterey. California.
30.Фогель Л., Оуэнс А., Уолш М. Искусственный интеллект и эволюционное моделирование. М.: Мир, 1969.
33
31.Шалыто А. А. Новая инициатива в программировании. Движение за открытую проектную документацию // Информационно-управляющие системы. 2003. № 4.
32.Зюбин В.Е. Программирование информационно-управляющих систем на основе конечных автоматов. Новосибирск: НГУ, 2006.
33.Кузьмин Е. В., Соколов В. А. Моделирование, спецификация и верификация «автоматных» программ // Программирование. 2008. № 1, с. 38–60.
34.Любченко В., Тяжлов Ю. Осторожно: многоядерный процессор // Открытые системы. 2007. № 6.
35.International Standard IEC 1131-3. Programmable controllers. Part 3. Programming languages. International Electrotechnical Commission. 1993.
36.Вавилов В. К., Шалыто А. А. Что плохого в неавтоматном подходе к программированию контроллеров? // Промышленные АСУ и контроллеры. 2007. № 1.
37.Шалыто А. А. Технология программной реализации алгоритмов логического управления как средство повышения живучести // Тезисы докладов научно-
технической конференции «Проблемы обеспечения живучести кораблей и судов». СПб.: Судостроение, 1992.
38.Антипов В. В., Шалыто А. А. Алгоритмизация и программирование задач логического управления техническими средствами. СПб.: Моринтех, 1996.
39.Шалыто А. А. SWITCH-технология. Алгоритмизация и программирование задач логического управления // Промышленные АСУ и контроллеры. 1999. № 9.
40.Шалыто А. А. Автоматное проектирование программ. Алгоритмизация и программирование задач логического управления // Известия РАН. Теория и системы управления. 2000. № 6.
41.Шалыто А. А. Реализация алгоритмов логического управления программами на языке функциональных блоков // Промышленные АСУ и контроллеры. 2000. № 4.
42.Альтерман И. З., Шалыто А. А. Формальные методы программирования логических контроллеров // Промышленные АСУ и контроллеры. 2005. № 10.
43.Вавилов В. К., Шалыто А. А. LabVIEW и SWITCH-технология // Промышленные АСУ и контроллеры. 2006. № 6.
34
44.Колесов Ю. Б., Сениченков Ю. Б. Моделирование систем. Динамические и гибридные системы. СПб.: БХВ–Петербург, 2006.
45.Туккель Н. И., Шалыто А. А. Проектирование программного обеспечения системы управления дизель-генераторами на основе автоматного подхода // Системы управления и обработки информации. 2003. Вып. 5.
46.Туккель Н. И., Шалыто А. А. Применение SWITCH-технологии для программирования в событийных системах / Труды международной научно-
технической конференции «Пятьдесят лет развития кибернетики», СПб.: СПбГТУ,
1999.
47.Туккель Н. И., Шалыто А. А. SWITCH-технология – автоматный подход к созданию программного обеспечения «реактивных» систем // Промышленные АСУ и контроллеры. 2000. № 10.
48.Туккель Н. И., Шалыто А. А. SWITCH-технология – автоматный подход к созданию программного обеспечения «реактивных» систем // Программирование. 2001. № 5.
49.Туккель Н. И., Шалыто А. А. Программирование с явным выделением состояний // Мир ПК. 2001. № 8, № 9.
50.Туккель Н. И., Шалыто А. А. Реализация автоматов при программировании событийных систем // Программист. 2002. № 4.
51.Шалыто А. А. Алгоритмизация и программирование для систем логического управления и «реактивных» систем (обзор) // Автоматика и телемеханика. 2001. № 1.
52.Грэхем И. Объектно-ориентированные методы. Принципы и практика. М.: Вильямс, 2004.
53.Рамбо Дж., Якобсон А., Буч Г. UML. Специальный справочник. СПб.: Питер,
2001.
54.Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. СПб.: Питер, 2007.
55.Рамбо Дж., Якобсон А., Буч Г. Унифицированные процесс разработки программного обеспечения. СПб.: Питер, 2002.
35
56.Ауер К., Миллер Р. Экстремальное программирование: постановка процесса. СПб.:
Питер, 2003.
57.Mellor S. et al. Executabl UML: A Foundation for Model Driven Architecture. MA: Addison-Wesley, 2002.
58.Туккель Н. И., Шалыто А. А. Объектно-ориентированное программирование с явным выделением состояний / Материалы Международной научно-технической конференции «Искусственный интеллект». Т.1. Таганрог. ТГРУ; Донецк. Донецкий гос. ин-т искусств. интеллекта. 2002.
59.Туккель Н. И., Шалыто А. А. Танки и автоматы // BYTE/Россия. 2003. № 2.
60.Наумов Л. А., Шалыто А. А. Искусство программирования лифта. Объектно-
ориентированное программирование с явным выделением состояний // Информационно-управляющие системы. 2003. № 6.
61.Гранд М. Шаблоны проектирования в Java. М.: Новое знание. 2004.
62.Шопырин Д. Г., Шалыто А. А. Применение класса STATE в объектно-
ориентированном программировании с явным выделением состояний // Труды X Всероссийской научно-методической конференции «Телематика-2003». СПб.: СПбГИТМО (ТУ). 2003. Т.1.
63.Корнеев Г. А., Шамгунов Н. Н., Шалыто А. А. Паттерн State Machine для объектно-ориентированного проектирования автоматов // Информационно-
управляющие системы. 2004. № 5.
64.Shamgunov N., Korneev G., Shalyto A. State Machine Design Pattern / .NET Technologies 2006 – Shot communication papers conference proceedings. 4-th International Conference in Central Europe on .Net Technologies. University of West Bohemia. 2006.
65.Корнеев Г. А., Шамгунов Н. Н., Шалыто А. А. Язык State Machine – расширение языка Java для эффективной реализации автоматов // Информационно-
управляющие системы. 2005. № 1.
66.Шопырин Д. Г., Шалыто А. А. Объектно-ориентированный подход к автоматному программированию // Информационно-управляющие системы. 2003. № 5.
67.Туккель Н. И., Шалыто А. А. Автоматное и синхронное программирование // Искусственный интеллект. 2003. № 4.
36
68.Шопырин Д. Г., Шалыто А. А. Синхронное программирование // Информационно-
управляющие системы. 2004. № 3.
69.Гуров В. С., Мазин М. А., Шалыто А. А. Текстовый язык для автоматного программирования // XIV Всероссийская научно-методическая конференция «Телематика-2007». СПб.: СПбГУ ИТМО. 2007. Т.2.
70.Степанов О. Г., Шопырин Д. Г., Шалыто А. А. Предметно-ориентированный язык автоматного программирования на базе динамического языку RUBY // Информационно-управляющие системы. 2007. № 4.
71.Наумов Л. А., Шалыто А. А. Методы объектно-ориентированной реализации реактивных агентов на основе конечных автоматов // Искусственный интеллект. 2004. № 4.
72.Naumov L., Korneev G., Shalyto A. Methods of Object-Oriented Reactive Agents Implementation on the Basis of Finite Automata / 2005 International Conference on
«Integration of Knowledge Intensive Multi-Agent Systems: Modeling, Exploration and
Engineering» (KIMAS-05). Boston: IEEE. 2005.
73.Шопырин Д. Г., Шалыто А. А. Графическая нотация наследования автоматных классов // Программирование. 2007. № 4.
74.Поликарпова Н.И., Шалыто А.А. Автоматное программирование. СПбГУ ИТМО,
2007. http://is.ifmo.ru/books/_umk.pdf
75.Вельдер С. Э., Шалыто А. А. О верификации простых автоматных программ на основе метода Model Checking // Информационно-управляющие системы. 2006. № 3.
76.Корнеев Г. А., Парфенов В. Г., Шалыто А. А. Верификация автоматных программ / Тезисы докладов Международной научной конференции, посвященной памяти профессора А.М. Богомолова «Компьютерные науки и технологии». Саратов: СГУ. 2007.
77.Корнеев Г.А., Шалыто А.А. Верификация управляющих программ со сложным поведением, построенных на основе автоматного подхода / Материалы
международной научно-технической мультиконференции «Проблемы
информационно-компьютерных технологий и мехатроники» (ИКТМ–2007).
Таганрог: НИИ МВС ЮФУ. 2007.
37
78.Гуров В. С., Шалыто А. А., Яминов Б. Р. Технология верификации автоматных моделей программ без их трансляции во входной язык верификатора / Материалы международной научно-технической мультиконференции «Проблемы информационно-компьютерных технологий и мехатроники» (ИКТМ–2007).
Таганрог: НИИ МВС ЮФУ. 2007.
79.Оршанский С. А., Шалыто А. А. Применение динамического программирования при решении задач на конечных автоматах // Компьютерные инструменты в образовании. 2007. № 4.
80.Лобанов П. Г., Шалыто А. А. Использование генетических алгоритмов для автоматического построения конечного автомата в задаче о флибах / 1-я
Российская мультиконференция по проблемам управления. Сборник докладов четвертой научной конференции «Управление и информационные технологии». СПбГУ ЭТУ «ЛЭТИ». 2006.
81.Лобанов П. Г., Шалыто А. А. Использование генетических алгоритмов для автоматического построения конечных автоматов в задаче о флибах // Известия РАН. Теория и системы управления. 2007. № 5.
82.Мандриков Е. А., Кулев В. А., Шалыто А. А. Построения автоматов с помощью генетических алгоритмов для решения задачи о флибах / Сборник X международной конференции по мягким вычислениям и измерениям. СПбГУ ЭТУ «ЛЭТИ». 2007. Т.1.
83.Мандриков Е. А., Кулев В. А., Шалыто А. А. Применение генетического программирования при решении задачи о флибах // Информационные технологии. 2007. № 12.
84.Царев Ф. Н., Шалыто А. А. Применение генетического программирования для генерации автоматов в задаче об «умном муравье» / Сборник научных трудов. IV-
я Международная научно-практическая конференция «Интегрированные модели и мягкие вычисления в искусственном интеллекте. Коломна: 2007.
85.Царев Ф. Н., Шалыто А. А. О построении автоматов с минимальным числом состояний для задачи об «умном муравье» / Сборник докладов X международной конференции по мягким вычислениям и измерениям. СПбГУ ЭТУ «ЛЭТИ». 2007. Т.2.
38
86.Поликарпова Н. И., Точилин В. Н., Шалыто А. А. Применение генетического программирования для реализации систем со сложным поведением / Сборник научных трудов. IV-я Международная научно-практическая конференция «Интегрированные модели и мягкие вычисления в искусственном интеллекте. Коломна. 2007.
87.Поликарпова Н. И., Точилин В. Н., Шалыто А. А. Разработка библиотеки для генерации автоматов методом генетического программирования / Сборник докладов X международной конференции по мягким вычислениям и измерениям. СПбГУ ЭТУ «ЛЭТИ». 2007. Т.2.
88.Царев Ф. Н., Шалыто А. А. Применение генетического программирования для
построения мультиагентной системы одного класса / Материалы международной научно-технической мультиконференции «Проблемы информационно-
компьютерных технологий и мехатроники» (ИКТМ–2007). Таганрог: НИИ МВС ЮФУ. 2007.
89.Paraschenko D., Tsarev F., Shalyto A. Modeling Technology for One Class of MultiAgent Systems with Automata Based Programming / Proceedings of 2006 IEEE International Conference on Computational Intelligence for Measurement Systems and Application (IEEE CIMSA2006). Spain, 2006.
90.Шалыто А. А. Технология автоматного программирования / Труды первой Всероссийской научной конференции «Методы и средства обработки информации». М.: МГУ. 2003.
91.Korneev G. A., Shalyto A. A. State-Driven Programming / Материалы Евразийского научного симпозиума. Корея. Сеул. Политехнический университет. 2007. www.eurasia.re.kr
92.Шалыто А. А. Автоматное программирование / Тезисы докладов Международной научной конференции, посвященной памяти профессора А.М. Богомолова «Компьютерные науки и технологии». Саратов: СГУ. 2007.
93.Шалыто А. А. Технология автоматного программирования // Мир ПК. 2003. № 10.
94.Головешин А. Использование конвертора Visio2Switch. http://is.ifmo.ru
95.Канжелев С. Ю., Шалыто А. А. Автоматическая генерация автоматного кода // Информационно-управляющие системы. 2006. № 6.
39
96.List of UML tools. http://en.wikipedia.org/wiki/List_of_UML_tools
97.О проекте «Технология автоматного программирования: применение и инструментальные средства» // Информационные технологии. 2006. № 2.
98.Гуров В. С., Мазин М. А., Нарвский А. С., Шалыто А. А. Разработка UML.
SWITCH-технология. Eclipse // Информационно-управляющие системы. 2004. №
6.
99.Gurov V. S., Mazin M. A., №arvsky A. S, Shalyto A. A. UniMod: Method and Development of Reactive Object-Oriented Programs with Explicit States Emphasis
/ Proceedings 2005 of St. Petersburg IEEE Chapters. International Conference «110
Anniversary of Radio Invention SPb ETU «LETI». 2005.
100.Гуров В. С., Мазин М. А., Шалыто А. А. Ядро автоматного программирования // Свидетельство об официальной регистрации программы для ЭВМ. № 2006 613249 от 14.09.2006.
101.Гуров В. С., Мазин М. А., Шалыто А. А. Встраиваемый модуль автоматного программирования для среды разработки // Свидетельство об официальной регистрации программы для ЭВМ. № 2006 613817 от 07.11.2006.
102.Гуров В. С., Мазин М. А., Нарвский А. С., Шалыто А.А. Инструментальное средство для поддержки автоматного программирования // Программирование. 2007. № 6.
103.Гуров В. С., Нарвский А. С., Шалыто А. А. Исполняемый UML из России // PC Week/RE. 2005. № 26.
104.Мазин М.А., Шалыто А.А. Преступники и автоматы // Мир ПК. 2004. № 9.
105.Беляев А. В., Суясов Д. И., Шалыто А. А. Компьютерная игра «Космонавт». Проектирование и реализация // Компьютерные инструменты в образовании. 2004. № 4.
106.Корнеев Г. А., Петрошенко П. А., Шалыто А. А. Реализация игры «Морской бой» на основе автоматного подхода // Компьютерные инструменты в образовании. 2005. № 6.
107.Гуров В. С., Нарвский А. С., Шалыто А. А. ICQ и автоматы // Технология «Клиент-
Сервер». 2004. № 3.
40