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



Главная

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

О нас
 Премии
 Сертификаты и дипломы
 Соревнования по программированию
 Прорыв
 Автографы
 Рецензии

Беллетристика
 Мотивация
 Мысли
Медиа
 Видео
 Фотографии
 Аудио
 Интервью

English
 Home

 Articles
 Posters
 Automata-Based Programming
 Initiatives
 Projects
 Presentations
 UniMod
 UniMod Projects
 Visualizers


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

Яndex



   Главная / Курсовые проекты / Система управления танком для игры 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—2014 По техническим вопросам сайта: vl.ulyantsev@gmail.com