В этой технологии базовым является понятие «состояние». Добавляя к нему понятие «входное воздействие», мы получаем «автомат без выхода». А дополнив технологию «выходным воздействием», мы получаем: автомат = состояния + входные воздействия +выходные воздействия. Соответствующий подход был назван «автоматным программированием».
В дальнейшем Шалыто и Н. И. Туккель развили этот подход для программирования более широкого класса задач. Авторы приводят пример применения switch-технологии при разработке системы управления дизель-генератором, реализуемой на промышленном компьютере с операционной системой QNX, в которой управляющая программа выполняется как один процесс, а программа, моделирующая объект, — как другой процесс. При этом был создан вариант switch-технологии для разработки программного обеспечения более широкого класса систем управления — «реактивных» (reactive), реагирующих на события. Такие системы обычно реализуются на промышленных компьютерах, работающих под управлением ОС реального времени. Рассмотренный подход является процедурным, а соответствующий стиль программирования был назван «программирование с явным выделением состояний»; существует и объектно-ориентированное программирование с явным выделением состояний.
Еще одна область применения автоматного программирования — классические алгоритмы, и в частности, построение визуализаторов алгоритмов.
У автоматных методов большое будущее, и хотя это научное направление все еще находится в стадии становления, switch-технология имеет все шансы занять достойное место в программировании.
Подробнее на эту тему можно прочитать в книге Шалыто А.А. Switch-технология. Алгоритмизация и программирование задач логического управления. — СПб.: Наука, 1998. Или на сайтеis.ifmo.ru
.ИГРЫ: Ролевые игры: Жизнь офлайн
Компьютерная игра — это всегда имитация. Развитие технологий все сильнее приближает ее к реальности, но никакие пиксельные шейдеры и многомерный звук не способны свести это различие на нет. И если, например, любитель авиасимуляторов захочет узнать, каково на самом деле управлять настоящим боевым самолетом в боевых условиях — сделать это будет непросто. Особняком здесь стоят RPG, в которые можно легко поиграть «по-настоящему», безо всякого компьютера. Предлагаемая вашему вниманию статья посвящена именно таким живым ролевым играм. — И.Щ.
Объяснить человеку, который никогда не играл в ролевые игры, что это такое, — весьма непросто. Рассказать об этом явлении в одной статье и нигде не погрешить против истины — практически невозможно. Всегда найдутся люди, которые скажут, что «все было совсем не так, я знаю, я там был!»
Следует понимать, что все сказанное в этой статье — только одна из версий, которых существует великое множество. Ролевые игры как явление с трудом поддаются определению, описанию и классификации. Это одна из тех вещей, которые необходимо хоть раз попробовать самому. Потому что всякий опыт в данном случае уникален и не похож на предыдущие, поскольку каждый участник процесса приходит в игры за чем-то своим.
Ролевые игры — это вид интеллектуального развлечения для группы лиц, состоящего в моделировании различных жизненных ситуаций, с участием ведущего (мастера), исполняющего функции сценариста и арбитра.
Казалось бы, ролевые игры порождают гигантский информационный поток: сотни сайтов в Интернете, десятки периодических изданий, огромное количество художественных текстов, несколько защищенных диссертаций. Тем не менее все это информационное поле до сих пор хаотично: отсутствуют общепринятые термины, понятные любому, равно как и установленная раз и навсегда структура. Поэтому каждому следующему автору приходится выкручиваться, используя ролевой сленг и проговаривая определения каких-то ключевых понятий, дабы говорить с читателем на одном языке.
Мы поступим точно так же. Для дальнейшего понимания текста нам придется разграничить два понятия: ролевые игры и живые ролевые игры.