Диплом, курсовая, контрольная работа
Помощь в написании студенческих работ

Автоматизация построения визуализаторов алгоритмов дискретной математики на основе автоматного подхода

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Для описания логики визуализаторов разработан язык описания визуализаторов. В рамках этого формата удобно описывается как логика визуализатора (при этом описание повторяет структуру визуализируемого алгоритма), так и его конфигурация. Второй отличительной особенностью предложенного формата является одновременно описание логики визуализатора, набора комментариев и визуального представления. Таким… Читать ещё >

Содержание

  • СПИСОК ТЕРМИНОВ
  • ГЛАВА 1. СИСТЕМЫ ВИЗУАЛИЗАЦИИ АЛГОРИТМОВ ДИСКРЕТНОЙ МАТЕМАТИКИ
    • 1. 1. Применение визуализаторов в учебном процессе
      • 1. 1. 1. Варианты применения визуализаторов
      • 1. 1. 2. Требования к визуализаторам алгоритмов
    • 1. 2. Обзор визуализаторов на примере алгоритмов сортировок
      • 1. 2. 1. Подходы к визуализации алгоритмов сортировки
      • 1. 2. 2. Обзор визуализаторов алгоритмов сортировок
      • 1. 2. 3. Анализ визуализаторов алгоритмов сортировок
    • 1. 3. Обзор систем визуализации
      • 1. 3. 1. Развитие систем визуализации
      • 1. 3. 2. Классификация систем визуализации
      • 1. 3. 3. Обзор общих систем визуализации
      • 1. 3. 4. Обзор систем визуализации алгоритмов
      • 1. 3. 5. Анализ систем визуализации
  • Выводы по главе 1
    • ГЛАВА 2. ПРОЦЕСС ПОСТРОЕНИЯ ВИЗУАЛИЗАТОРОВ
      • 2. 1. Структура визуализатора
        • 2. 1. 1. Варианты использования визуализатора
        • 2. 1. 2. Выделение основных частей визуализатора
      • 2. 2. Разработка визуализаторов
        • 2. 2. 1. «Ручная» разработки визуализаторов
        • 2. 2. 2. Автоматизация разработки визуализаторов
      • 2. 3. Модель данных визуализатора
        • 2. 3. 1. Требования к модели данных
        • 2. 3. 2. Подходы к построению модели данных
      • 2. 4. Логика визуализатора
        • 2. 4. 1. Требования к логике визуализатора
        • 2. 4. 2. Подходы к реализации обратимого исполнения
        • 2. 4. 3. Автоматный подход к построению логики визуализаторов
      • 2. 5. Язык описания визуализаторов
      • 2. 6. Задачи, решаемые в диссертационной работе
  • Выводы по главе 2
  • ГЛАВА 3. ПОСТРОЕНИЕ МОДЕЛИ ДАННЫХ И ПРЕОБРАЗОВАНИЕ ПРОГРАММЫ К ПРИВЕДЕННОЙ ФОРМЕ
    • 3. 1. Построение модели данных
      • 3. 1. 1. Этапы построения модели данных
      • 3. 1. 2. Требования к исходной программе
    • 3. 2. Построение модели данных по итеративной программе
      • 3. 2. 1. Создание модели данных
      • 3. 2. 2. Модификация программы
      • 3. 2. 3. Упрощенная запись (@-нотация)
      • 3. 2. 4. Пример построения модели данных
    • 3. 3. Построение модели данных по рекурсивной программе
      • 3. 3. 1. Построение модели данных
      • 3. 3. 2. Модификация программы
      • 3. 3. 3. Пример выделения модели и модификации программы
      • 3. 3. 4. Обращение правил именования
    • 3. 4. Преобразование программы к приведенной форме
      • 3. 4. 1. Типы операторов
      • 3. 4. 2. Оператор цикла с постусловием
    • I. 3.4.3. Оператор цикла со счетчиком
      • 3. 4. 4. Оператор продолжения цикла
      • 3. 4. 5. Оператор выхода из цикла
      • 3. 4. 6. Оператор возврата из процедуры
      • 3. 4. 7. Оператор выбора
      • 3. 4. 8. Порядок преобразования операторов
  • Выводы по главе 3
    • ГЛАВА 4. ПРЕОБРАЗОВАНИЕ ПРОГРАММЫ В СИСТЕМУ ВЗАИМОДЕЙСТВУЮЩИХ КОНЕЧНЫХ АВТОМАТОВ
  • 4. 1. Основные понятия
    • 4. 1. 1. Исходная программа
    • 4. 1. 2. Фрагменты автоматов
  • 4. 2. Преобразование процедуры в автомат
    • 4. 2. 1. Оператор присваивания
    • 4. 2. 2. Последовательность операторов
    • 4. 2. 3. Оператор вызова процедуры
    • 4. 2. 4. Оператор ветвления
    • 4. 2. 5. Цикл с предусловием
    • 4. 2. 6. Завершение построения автомата
    • 4. 2. 7. Пример преобразования процедуры в автомат
  • 4. 3. Построение обратного автомата
    • 4. 3. 1. Обратные автоматы
    • 4. 3. 2. Обращение операторов
    • 4. 3. 3. Обращение оператора присваивания
    • 4. 3. 4. Обращение последовательности операторов
    • 4. 3. 5. Обращение оператора вызова
    • 4. 3. 6. Обращения операторов ветвления
    • 4. 3. 7. Обращение оператора цикла с предусловием
    • 4. 3. 8. Варианты построения обратного автомата
    • 4. 3. 9. Пример построения обратного автомата
  • 4. 4. Процедуры и вызовы автоматов
    • 4. 4. 1. Итеративные программы
    • 4. 4. 2. Рекурсивные программы
  • 4. 5. Формализация преобразования программы
    • 4. 5. 1. Свойства автоматов
    • 4. 5. 2. Текстовая нотация
    • 4. 5. 3. Преобразование оператора присваивания
    • 4. 5. 4. Преобразование оператора ветвления
    • 4. 5. 5. Преобразование оператора цикла
    • 4. 5. 6. Преобразование оператора вызова процедуры
    • 4. 5. 7. Преобразование последовательностей операторов
    • 4. 5. 8. Преобразование процедуры
    • 4. 5. 9. Завершение доказательства
  • Выводы по главе 4
  • ГЛАВА 5. ЯЗЫК ОПИСАНИЯ ВИЗУАЛИЗАТОРОВ
    • 5. 1. Структура языка
    • 5. 2. Описание визуализируемого алгоритма
      • 5. 2. 1. Описание алгоритма
      • 5. 2. 2. Описание процедур
      • 5. 2. 3. Описание операторов
      • 5. 2. 4. Переменные
      • 5. 2. 5. Пример описания визуализируемого алгоритма
    • 5. 3. Описание конфигурации визуализатора
      • 5. 3. 1. Группы, свойства и сообщения
      • 5. 3. 2. Таблицы стилей
      • 5. 3. 3. Элементы управления
  • Выводы по главе 5
  • ГЛАВА 6. ВНЕДРЕНИЕ ПРЕДЛОЖЕННЫХ МЕТОДОВ
    • 6. 1. Система визуализации Vizi. t 6.1.1. Структура визуализатора
      • 6. 1. 2. Статическая часть
      • 6. 1. 3. Отладка описания визуализатора
      • 6. 1. 4. Процесс построения визуализатора
    • 6. 2. Пример построения визуализатора
      • 6. 2. 1. Постановка задачи и анализ литературы
      • 6. 2. 2. Создание визуализируемой программы
      • 6. 2. 3. Проектирование визуализатора
      • 6. 2. 4. Построение описания визуализируемой программы
      • 6. 2. 5. Реализация визуального представления
      • 6. 2. 6. Реализация элементов управления
      • 6. 2. 7. Интеграция и отладка визуализатора
      • 6. 2. 8. Выводы
    • 6. 3. Сравнение с существующими подходами
      • 6. 3. 1. Сравнение проектов визуализаторов
      • 6. 3. 2. Визуализаторы, построенные на основе Viz
      • 6. 3. 3. Выполнение требований к визуализаторам
    • 6. 4. Практическое использование результатов работы
  • Выводы по главе 6
  • Автоматизация построения визуализаторов алгоритмов дискретной математики на основе автоматного подхода (реферат, курсовая, диплом, контрольная)

    Актуальность проблемы. В настоящее время приборы и устройства становятся все сложнее. Для автоматизации их проектирования требуется знание алгоритмов на графах [17,22], операций над матрицами [20], вычислительной геометрии [27], линейного и динамического программирования [5,18] и т. д. Часто эти алгоритмы являются весьма сложными и, поэтому, трудны для изучения. Это требует новых подходов к разработке научных основ обучения автоматизированному проектированию, и, в частности, обучению указанным алгоритмам [11, 97]. Таким новым подходом является применение визуализаторов алгоритмов [34]. Так как указанные алгоритмы часто сложны, то создание их визуализаторов требует разработки методов построения визуализаторов с целью формализации процесса их проектирования и реализации.

    Визуализатор — это программа, в процессе работы которой на экране компьютера динамически демонстрируется применение алгоритма к выбранному набору данных. Визуализаторы позволяют изучать работу алгоритмов в пошаговом режиме, аналогичном режиму трассировки программ. Они при необходимости допускают трассировку укрупненными шагами, игнорируя рутинную часть вычислительного процесса, что существенно, например, для переборных алгоритмов.

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

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

    Многолетний опыт построения и применения визуализаторов на кафедре «Компьютерные технологии» СПбГУ ИТМО [97] показал, что они могут быть использованы как основной инструмент преподавания указанных выше курсов, и, в частности, при дистанционном обучении [10].

    Написание визуализатора «с нуля» является трудоемкой задачей. Для ее решения используются системы визуализации, предоставляющие как средства создания визуализаторов, так и поддержку времени выполнения.

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

    Несмотря на то, что визуализаторы разрабатываются с 80-х годов XX века, можно утверждать, что к настоящему времени основные достижения в проектировании визуализаторов относятся к сфере применения их в учебном процессе [11], а успехи в сфере технологии создания визуализаторов практически отсутствуют. В частности, отсутствует метод, позволяющий по алгоритму формально и единообразно создавать логику работы визуализатора.

    Поэтому весьма актуальными являются исследования, направленные на решение проблем построения визуализаторов сложных алгоритмов, особенно, встречающихся в системах автоматизации проектирования (САПР) приборов.

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

    Основные задачи диссертационной работы состоят в следующем.

    1. Развитие методов преобразования императивных программ в автоматные.

    2. Разработка языка описания визуализаторов алгоритмов дискретной математики.

    3. Разработка технологии построения визуализаторов алгоритмов.

    4. Внедрение результатов работы в практику программирования визуализаторов и учебный процесс в СПбГУ ИТМО.

    Научная новизна. В работе получены следующие научные результаты, которые выносятся на защиту.

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

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

    3. Разработан язык описания визуализаторов алгоритмов дискретной математики.

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

    Методы исследования. В работе использованы методы теории автоматов, теории графов, теории алгоритмов, теории компиляторов и языков программирования.

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

    Практическое значение работы состоит в том, что все полученные результаты могут быть использованы и в настоящее время уже используются на практике в учебном процессе в СПбГУ ИТМО и других учебных учреждений.

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

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

    Результаты данной работы могут быть использованы двояко: во-первых, учащиеся могут пользоваться визуализаторами, созданными по предложенной технологии, а, во-вторых, учащиеся могут сами создавать визуализаторы.

    Реализация результатов работы. Результаты, полученные в диссертации, используются на практике следующим образом:

    1. В учебном процессе на кафедре «Компьютерные технологии» СПбГУ ИТМО при чтении лекций по курсу «Дискретная математика» и выполнении курсовых работ по этому курсу.

    2. В учебном процессе в Лицее «Физико-техническая школа» (Санкт-Петербург).

    3. В учебном процессе в Специализированном учебно-научном центре МГУ (Москва).

    Научно-исследовательские работы. Результаты диссертации были получены в ходе выполнения научно-исследовательских работ по гранту конкурса персональных грантов для студентов и аспирантов вузов и академических институтов Санкт-Петербургапо теме «Разработка технологии программного обеспечения систем управления на основе автоматного подхода», выполняемой по заказу Министерства образования РФ в 2001;2006 гг.- по теме «Разработка технологии автоматного программирования», выполненной по гранту РФФИ № 02−07−90 114 в.

    2002;2003 гг.- по теме «Разработка технологии объектно-ориентированного программирования с явным выделением состояний», выполняемой по гранту РФФИ № 05−07−90 011- по государственному контракту «Технология автоматного программирования: применение и инструментальные средства», выполняемому в рамках ФЦНТП «Исследования и разработки по приоритетным направлениям развития науки и техники на 2002 — 2006 годы».

    Апробация результатов работы. Основные положения диссертационной работы докладывались на Второй Всероссийской научной конференции «Методы и средства обработки информации» (Москва, МГУ, 2005 г.) — II и III конференции молодых ученых СПбГУ ИТМО (Санкт-Петербург, 2005, 2006 гг.) — Политехническом симпозиуме «Молодые ученые — промышленности Северо-Западного региона» (Санкт-Петербургский государственный политехнический университет, 2005 г.) — Software Engineering Conference in Russia — SECR-2005 (Москва, 2005 г.) — научно-методических конференциях «Телематика-2001», «Телематика-2003» (Санкт-Петербург) — XXXV научной и учебно-методической конференция СПбГУ ИТМО «Достижения ученых, аспирантов и студентов СПбГУИТМО в науке и образовании» (Санкт-Петербург, 2006 г.) — на семинаре «Автоматное программирование» в рамках международной конференции «International Computer Science Symposium in Russia CSR 2006» (Санкт-Петербург, 2006 г.).

    Публикации. По теме диссертации опубликовано 11 печатных работ, в том числе в Научно-техническом вестнике СПбГУ ИТМО (входит в «Перечень ведущих рецензируемых научных журналов и изданий, выпускаемых в Российской Федерации») — сборниках трудов конференций «Методы и средства обработки информации», «Телематика», «Межвузовская конференция молодых учёных», Политехнического симпозиума «Молодые ученые — промышленности Северо-Западного региона" — журналах «Телекоммуникации и информатизация образования», «Компьютерные инструменты в образовании».

    Структура диссертации. Диссертация изложена на 181 странице и состоит из списка терминов, введения, шести глав, заключения и двух приложений (на 11 страницах).

    Список литературы

    содержит 103 наименования. Работа иллюстрирована 50 рисунками и содержит 12 таблиц.

    Выводы по главе 6.

    1. Разработана система визуализации Vizi.

    2. Выполнено сравнение с предшествующей системой построения визуализаторов, которое показало, что система визуализации Vizi позволяет сократить объем кода визуализатора.

    3. Показано, что система визуализации Vizi позволяет выполнить все требования к визуализаторам, сформулированные в главе 1.

    4. Система визуализации Vizi успешно внедрена в учебный процесс.

    ЗАКЛЮЧЕНИЕ

    .

    В настоящей работе разработаны методы преобразования программ (в том числе и рекурсивных) в систему взаимодействующих конечных автоматов. При этом полученная система автоматов позволяет эмулировать выполнение программы как вперед, так и назад. Ранее системы автоматов позволяли двигаться по программе только в одном направлении.

    Для описания логики визуализаторов разработан язык описания визуализаторов. В рамках этого формата удобно описывается как логика визуализатора (при этом описание повторяет структуру визуализируемого алгоритма), так и его конфигурация. Второй отличительной особенностью предложенного формата является одновременно описание логики визуализатора, набора комментариев и визуального представления. Таким образом, производится ранняя интеграция этих частей визуализатора, что существенно упрощает дальнейшую разработку визуализатора и его отладку.

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

    На основе разработанной технологии была построена система визуализации Vizi, позволившая существенно упростить создание визуализаторов сложных алгоритмов и сократить сроки их разработки. Система визуализации Vizi напрямую поддерживает разработанный язык описания визуализатора и позволяет по описанию автоматически генерировать исходные коды программы визуализатора, а также отлаживать ее. При этом существует возможность не только отладки программы визуализатора в целом, но и отдельная отладка визуализируемой программы. Указанные возможности реализуются посредством инструментов, входящих в систему визуализации Vizi.

    Система визуализации Vizi была внедрена на кафедре «Компьютерные технологии» СПбГУ ИТМО (2003;2006 гг.). Визуализаторы, созданные на ее основе внедрены в учебном процессе в Лицее «Физико-техническая школа» (Санкт-Петербург) и специализированном учебно-научном центре МГУ (Москва).

    При этом с ее использование студентами первых курсов были выполнены визуализаторы таких сложных алгоритмов, как, например, поиск максимального потока в сети методами Диница и Малхотры-Кумара-Махешвари. Создание визуализаторов таких алгоритмов ранее было сопряжено с большими трудностями, которые устранены системой визуализации Vizi.

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

    Показать весь текст

    Список литературы

    1. Автоматы / Ред. Шеннона К. Э., МакКарти Дж. М.: Изд-во иностр. лит., 1956.
    2. Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии иинструменты. М.: Вильяме. 2001.
    3. Буч Г., Якобсон А., Рамбо Дж. UML. 2-е издание. СПб.: Питер, 2006, 736 с.
    4. С. И. Синтез микропрограммных автоматов (граф-схемы и автоматы). Д.: Энергия, 1979.
    5. Д. И., Львович Я. Е., Фролов В. Н. Оптимизация в САПР. Воронеж: Воронежский государственный университет, 1997.
    6. М. А. Теория релейно-контактных схем. М.: Изд-во АН СССР, 1 1950.
    7. В. М. Синтез цифровых автоматов. М.: Изд-во физ.-мат. лит., 1962.
    8. ГрисД Наука программирования. М.: Мир, 1984.
    9. Дал У., Дейкстра Э., Хоор К. Структурное программирование. М.: Мир, 1975.
    10. М. А., Мельничук О. П., Парфенов В. Г. Интернет-школапрограммирования в СПбГИТМО. Реализация и внедрение / Труды международной научно-методическая конференции «Телематика-2002». СПб.: СПбГИТМО (ТУ), 2002.
    11. М. А., Столяр С. Е. Визуализаторы алгоритмов как элемент технологии преподавания дискретной математики и программирования i / Труды международной научно-методическая конференции «Телематика2000». СПб.: 2000.
    12. М. А., ШалытоА.А. Использование автоматного программирования для реализации визуализаторов // Компьютерные инструменты в образовании. 2004. № 2.
    13. КазаковМ. А., ШалытоА.А. Реализация анимации при построении визуализаторов алгоритмов на основе автоматного подхода // Информационно-управляющие системы. 2005. № 4.
    14. КазаковМ. А., ШалытоА. А. Автоматный подход к реализации анимации в визуализаторах алгоритмов // Компьютерные инструменты в образовании. 2005. № 3.
    15. М. А., ШалытоА.А., ТуккельН.И. Использование автоматного подхода для реализации вычислительных алгоритмов / Труды международной научно-методической конференции «Телематика-2001». СПб.: СПбГИТМО (ТУ), 2001.
    16. С. Представление событий в нервных сетях и конечных автоматах /В1.
    17. Д. Искусство программирования. Том 1. Основные алгоритмы. М.: Вильяме, 2000.
    18. Т., Лейзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ. М.: МЦНМО, 1999.
    19. КорнеевГА., ШалытоА.А., ШамгуновН.Н. Паттерн State Machine для объектно-ориентированного проектирования автоматов // Информационно-управляющие системы. 2004. № 5.
    20. Ли К. Основы САПР (CAD/CAM/CAE). СПб.: Питер, 2004.21 .ЛингерР., МиллсХ., УиттБ. Теория и практика структурного программирования. М.: Мир, 1982.
    21. А. Н., Бернштейн Л. С., КурейчикВ. М. Применение графов для проектирования дискретных устройств. М.: Наука, 1974.
    22. Мур Э. Умозрительные эксперименты с последовательными машинами /В 1.
    23. М.О., Скотт Д. Конечные автоматы и задачи их разрешения // Кибернетический сборник. Вып. 4. М.: Изд-во иностр. лит., 1962.
    24. С. Е., Остова Т. Г., Крылов И. П., Столяр С. С. Об инструментальных средствах для курса информатики / II Всероссийская конференция «Компьютеры в образовании». СПб, 1994.
    25. Н. И., Шалыто А. А., Шамгунов Н. Я. Реализация рекурсивных алгоритмов на основе автоматного подхода //Телекоммуникации и информатизация образования. 2002. № 5.
    26. ФоксА., ПраттМ. Вычислительная геометрия: применение в проектировании и на производстве. М.: Мир, 1982.
    27. ХопкрофтД., МотваниР., Ульман Дж. Введение в теорию автоматов, языков и вычислений. М.: Вильяме, 2001.
    28. А. А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.
    29. А.А., Туккель Н. И. Преобразование итеративных алгоритмов автоматные //Программирование. 2002. № 5.
    30. А. А. Туккель Н.И. От тьюрингова программирования к автоматному // Мир ПК. 2002. № 2.
    31. Печатные издания на английском языке
    32. BaeckerR. Sorting out Sorting / SIGGRAPH 1981, Dallas, Texas.
    33. Baker J.E., Cruz I. F., Liotta G., Tamassia R. The Mocha Algorithm Animation System /Proceedings of International Workshop on Advanced Visual Interfaces. 1996.
    34. Brown M. Algorithm Animation. MIT Press, Cambridge, MA, 1988.
    35. Brown M. Zeus: a System for Algorithm Animation / Proceedings of 1991 IEEE Workshop on Visual Languages. 1991.
    36. BrownM., SedgewickR. A system for Algorithm Animation /Computer Graphics, Proceedings of the 11th annual conference on Computer graphics and interactive techniques, July 1984.
    37. Crescenzi P., Demetrescu C., Finocchi /., Petreschi R. Reversible execution and visualization of programs with Leonardo // Journal of Visual Languages and Computing (JVLC). Volume 11. Issue 2, Academic Press, April 2000.
    38. Demetrescu C., Finocchi I. A technique for generating graphical abstractions of program data structures / Proceedings of the 3rd International Conference on Visual Information Systems. Amsterdam, 1999.
    39. Dijkstra E.W. Go To Statement Considered Harmful // Communications of the ACM. Volume 11. No. 3, March 1968.
    40. Huffman D.A. The Synthesis of Sequential Switching Circuits // J. Franclin Inst. 1954. V.257, № 3,4.
    41. Italiano G., Cattaneo G., Ferraro U., Scarano V. CATAI: Concurrent Algorithms and Data Types Animation over the Internet / Proceedings of 15th IFIP World Computer Congress. Vienna, August September 1998.
    42. Joy В., Steele G., Gosling J., Bracha G. Java Language Specification (Second Edition). Addison-Wesley. 2000.
    43. Kane G. MIPS RISC architecture. Prentice-Hall, N.J., 1988.
    44. Knowlton K. L6: Bell Telephone Laboratories Low-Level Linked List Language / 16-minute black-and-white film. Murray Hill, N.J., 1966.
    45. Knowlton K. L6: Part II. An Example of L6 Programming / 30-minute black-and-white film, Murray Hill, N.J., 1966.
    46. Lahtinen S., Sutinen E., Tarhio J. Automated Animation of Algorithms with Eliot // Journal of Visual Languages and Computing. 9 (3). 1998.
    47. Lawrence A., BadreA., StasskoJ. Empirically evaluating the use of animations to teach algorithms / Technical report. Graphics Visualization and Usability Center, Georgia Institute of Technology. 1993.
    48. McCulloch W., Pitts W. A Logical Calculus of Ideas Immanent in Nervous Activity// Bull. Math. Biophysics. 1943,5.51 .Mealy G. A Method for Synthesizing Sequential Circuits //Bell System Technical Journal. 1955. V.34. № 5.
    49. Moreno A., MyllerN. Producing an Educationally Effective and Usable Tool for Learning, The Case of the Jeliot Family // Proceedings of International Conference on Networked e-learning for European Universities.
    50. Moreno A., MyllerN., Sutinen E., Ben-AriM. Visualizing Programs with Jeliot 3 / Proceedings of the International Working Conference on Advanced Visual Interfaces AVI 2004, Gallipoli (Lecce), Italy, 25−28 May, 2004.
    51. PiersonW., Rodger S.H. Web-based Animation of Data Structures Using JAWAA / Twenty-ninth SIGCSE Technical Symposium on Computer Science Education. 1998.
    52. Programming Language FORTRAN. American National Standards Institute (ANSI). 1978.
    53. Programming Langauges — C. ISO/IEC 9899:1999.1999.
    54. Rodger S. H. Using Hands-on Visualizations to Teach Computer Science from Beginning Courses to Advanced Courses / Second Program Visualization Workshop, Hornstrup Centert, Denmark, June 2002.
    55. Rodger S. H. Introducing Computer Science Through Animation and Virtual Worlds / Thirty-third SIGCSE Technical Symposium on Computer Science Education. 2002.
    56. Rdfiling G., Freisleben B. ANIMAL: A System for Supporting Multiple Roles in Algorithm Animation //Journal of Visual Languages and Computing, Volume 13 issue 3. Elsevier, Amsterdam, Netherlands, 2002.
    57. RuknetC. The Design of the Processor Architecture Capable of forward and Reverse Execution / Proceedings of IEEE SoutheastCon 91. V.2,1991.
    58. Stasko J. Tango: A Framework and System for Algorithm Animation // IEEE Computer. 23,1990.
    59. Stasko J. Animating Algorithms with XTANGO // SIGACT News, volume 23, issue 2, Spring 1992.
    60. Stasko J. Tango: A Framework and System for Algorithm Animation // IEEE Computer, September 1990.
    61. Stasko J. A methodology for building Application-Specific Visualizations of Parallel Programs //Journal of Parallel and Distributed Computing. 1993, № 18.
    62. Thompson K. Regular expression Search Algorithm //Communications of the ACM. 1966. V.ll. № 6.
    63. Wilson J., Aiken R. KatzL Review of animation systems for algorithm understanding /SIGCSE'96, Proceedings of the 1st conference on integrating technology into computer science education, Volume 28 Issue SI.
    64. Zelkowitz M. V. Reversible Execution // Communication of the ACM. 1973. V. 16, № 9.1. Ресурсы сети Internet
    65. Визуализатор пирамидальной сортировки / http://is.ifmo.ru/works/heapsort/
    66. Кафедра «Технологии программирования» СПбГУ ИТМО / http://is.ifmo.ru.
    67. Agat: Another Graphical Animation Tool / http://www-sop.inria.fr/cafe/Olivier.Arsac/agat/agat.html.
    68. Animal Home Page / http://www.animal.ahrgr.de.
    69. Apache Ant Home Page / http://ant.apache.org/.
    70. Arsac 0., Lavirotte S. The Agat Manual / http://www-sop.inria.fr/cafe/01ivier. Arsac/agat/Doc/refman.ps.gz.
    71. Code conventions for Java programming language. /http://Java.sun.com/docs/codeconv/.
    72. Дискретная математика: алгоритмы / http://rain.ifmo.ru/cat.
    73. Extensible Markup Language (XML) Version 1.0 (Second Edition) / http://www.w3.org/TR/2000/REC-xml-200Q 1006/.
    74. Font class description (Java 2 Platform SE 1.4.2) /http://Java.sun.com/i2se/api/Java/awt/Font.html.
    75. Hope College animator page /http://www.cs.hope.edu/~alganim/animator/Animator.html.
    76. Jeliot Home Page / http://cs.ioensuu.fi/ieliot/.
    77. Leonardo home page / http://www.dis.uniromal .it/~demetres/Leonardo/Leonardo.html.
    78. MessageFormat class description (Java 2 Platform SE 1.4.2) /http://Java.sun.com/i2se/api/Java/text/MessageFormat.html.
    79. Polka Animation System /http://www.cc.gatech.edu/gvu/softviz/parviz/polka.html.
    80. Princeton University animators collection / http.7/www.cs.princeton.edu/~ah/alg anim/versionl/Animator.html.
    81. Properties class description (Java 2 Platform SE 1.4.2) /http://Java.sun.com/i2se/api/Java/util/Properties.html.
    82. Samba algorithm animation system /http://www.cc.gatech.edu/gvu/softviz/algoanim/samba.html.
    83. State University of New York College at Brockport sorting animators collection / http://www.cs.brockport.edu/cs/Javasort.html.
    84. Vizi home page / http://ctddev.ifmo.ru/vizi
    85. XML Schema Part 0: Primer /http://www.w3.org/TR/2001/REC-xmlschema-0−20 0105Q2/.
    86. XML Schema Part 1: Structures / http://www.w3 .org/TR/2001/REC-xml schema-1 -20 010 502/.
    87. XML Schema Part 2: Data Types / http://www.w3.org/TR/2001/REC-xml schema-2−20 010 502/.
    88. XSL Transformations (XSLT) Version 1.0 /http://www.w3.org/TR/1999/REC-xslt-199 911 161. Публикации
    89. Г. А., Шалыто A.A. Преобразование программ в систему взаимодействующих конечных автоматов / Труды Второй Всероссийской Научной конференции «Методы и средства обработки информации». М.: МГУ. 2005, с. 385−387.
    90. Г. А. Метод преобразования программ в систему взаимодействующих автоматов /Труды II межвузовской конференции молодых учёных. СПб.: СПбГУ ИТМО. 2005, с. 65−72.
    91. КорнеевГ.А., ШалытоА.А. Реализация конечных автоматов с использованием объектно-ориентированного программирования /Труды X международной научно-методической конференции «Телематика-2003». СПб.: СПбГИТМО (ТУ). 2003, с. 377,378.
    92. Г. А., Казаков М. А., Шалыто А. А. Построение логики работы визуализаторов алгоритмов на основе автоматного подхода /Труды X международной научно-методической конференции «Телематика-2003». СПб.: СПбГИТМО (ТУ). 2003, с. 378,379.
    93. КорнеевГ.А., ШамгуновН.Н., ШалытоА.А. Обход деревьев на основе автоматного подхода // Компьютерные инструменты в образовании. 2004. № 3, с. 32−37.
    94. КорнеевГ.А., ШалытоА.А. Построение визуализаторов алгоритмов дискретной математики //Научно-технический вестник СПбГУ ИТМО. Выпуск 23. Высокие технологии в оптических и информационных системах. СПб.: СПбГУ ИТМО. 2005, с. 118−129.
    95. Г. А., Шалыто А.А. VIZI — язык описания логики визуализаторов алгоритмов //Научно-технический вестник СПбГУ ИТМО. Выпуск 23. Высокие технологии в оптических и информационных системах. СПб.: СПбГУ ИТМО. 2005, с. 130−138.
    Заполнить форму текущей работой