САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ
Кафедра «Технологии программирования»



Меню
Главная
Новости

Автографы
Автоматы
Автоматное программирование в школе
Беллетристика
Важное
Верификация
Визуализаторы
Внедрение автоматного программирования
Генетические алгоритмы
Геном
Движение
Дипломы
Диссертации
Инновации
Искусственный интеллект
Искусство
Клеточные автоматы
Книги
Конференции
Люди
Мотивация
Мысли
Наука
Нейронные сети
О нас
Об автоматном программировании
Обработка изображений
Образование
Параллельные вычисления
Персоналии
Презентации
Премии
Программная инженерия
Программная кибернетика
Проекты
Прорыв
UniMod
Unimod-проекты
Разное
Рецензии
Роботы и агенты
Ролики о нас
Свидетельства
Семинары
Скартел-Yota
Статьи
Соревнования по программированию
Тестирование
Учебные курсы
Фотографии
Электрические Джунгли
English
Home

Articles
Automata-Based Programming
EffelState
Initiatives
Projects
Miscellaneous
Presentations
State Machines
Technology
UniMod
UniMod Projects
Visualizers


Поиск по сайту

Яndex

Google





   Главная / Проекты / Система управления танком для игры Robocode. Объектно-ориентированное программирование с явным выделением состояний. Программная документация (версия для печати)


Система управления танком для игры Robocode. Объектно-ориентированное программирование с явным выделением состояний. Программная документация



(C) 2001 г. Н.И.Туккель, А.А.Шалыто

Санкт-Петербургский государственный институт точной механики и оптики
(технический университет)

Отсюда можно скачать полный текст документации в формате pdf (283 кб)
А здесь лежит исходный текст программы на Java (13 кб)

Для алгоритмизации и программирования задач логического управления была предложена SWITCH-технология, которая в дальнейшем была развита применительно к разработке программного обеспечения событийных систем (http://is.ifmo.ru).

До последнего времени в SWITCH-технологии объединялись два стиля программирования - процедурный и автоматный. При этом авторов интересовал вопрос совмещения объектно-ориентированного и автоматного стилей.

Первый шаг в этом направлении был выполнен авторами при программировании в объектно-ориентированной среде быстрой разработки "Flora" ("Использование SWITCH-технологии при разработке программ в среде Flora/C+. Модель технологического процесса в цехе холодной прокатки. Проектная документация", http://is.ifmo.ru). При этом автоматы, описывающие основные алгоритмы функционирования системы, были выделены как отдельные объекты среды разработки.

Настоящая работа представляет дальнейшее развитие SWITCH-технологии, заключающееся в совместном использовании объектно-ориентированного и автоматного стилей программирования. Разработанный при этом подход может быть назван "объектно-ориентированное программирование с явным выделением состоянием". В рамках этого подхода программирование выполняется на объектно-ориентированном языке. При этом необходимо отметить, что основное внимание в настоящей работе уделяется проектированию рассматриваемого класса программ с применением схем и диаграмм, отличающихся от используемых в универсальном языке объектно-ориентированного моделирования UML.

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

Исходя из целей настоящей работы, нас интересовала такая игра, которая в качестве языка программирования использовала бы не специализированный язык, а один из широко распространенных объектно-ориентированных языков. Единственной известной авторам игрой, отвечающей этому требованию, является недавно (в 2001 году) разработанная компанией "Alphaworks" игра "Robocode" (http://robocode.alphaworks.ibm.com).

Эта игра позиционируется фирмой IBM как средство для обучения программированию на языке Java на примере создания программы, являющейся системой управления танком, предоставляемым средой исполнения.

Настоящая работа содержит документацию, созданную при проектировании программы управления танком.

Рассматриваемая система управления создавалась в 2001 году. С тех пор среда исполнения претерпела некоторые изменения, однако танк продолжает весьма успешно функционировать без корректировки настоящей документации.

С реакцией "общественности" на качество разработанного танка можно ознакомится, например, в форуме на сайте игры "Robocode" (http://robocode.alphaworks.ibm.com) и в статье Озеров А.А. Четыре танкиста и компьютер // Магия ПК. 2002. № 11. (http://is.ifmo.ru, раздел "О нас"). При этом в некоторых высказываниях в указанном форуме танк назван "легендарным" :-).

Более подробно с использованным в данной работе подходом можно ознакомится в статье Туккель Н.И., Шалыто А.А. Танки и автоматы // BYTE/Россия. 2003. № 2. (http://is.ifmo.ru, раздел "Статьи").

На данный момент (август 2003 года) авторам работы неизвестно о существовании каких-либо других танков, для которых опубликована проектная документация. Эта документация позволила весьма просто осуществить рефакторинг программы, выполненный Д.В. Кузнецовым совместно с А.А. Шалыто с целью создания "более объектной" реализации.


© 2002—2009 По техническим вопросам сайта: mikhail.tsarev@gmail.com