WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

На правах рукописи

Корнеев Георгий Александрович

Автоматизация построения визуализаторов

алгоритмов дискретной математики

на основе автоматного подхода

Специальность 05.13.12 — Системы автоматизации

проектирования (приборостроение)

АВТОРЕФЕРАТ

диссертации на соискание ученой степени

кандидата технических наук

Санкт-Петербург 2006 2

Работа выполнена в Санкт-Петербургском государственном университете информационных технологий, механики и оптики

Научный руководитель доктор технических наук, профессор Шалыто Анатолий Абрамович

Официальные оппоненты доктор физико-математических наук, профессор Романовский Иосиф Владимирович доктор технических наук, профессор Тропченко Александр Ювенальевич

Ведущая организация Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

Защита диссертации состоится 24 октября 2006 года в 15 часов 50 минут на заседании диссертационного совета Д 212.227.05 в Санкт-Петербургском государственном университете информационных технологий, механики и оптики по адресу: 197101, Санкт-Петербург, Кронверкский пр. 49.

С диссертацией можно ознакомиться в библиотеке СПбГУ ИТМО.

Автореферат разослан 22 сентября 2006 г.

Ученый секретарь совета Д 212.227.05, Поляков Владимир Иванович кандидат технических наук, доцент

Общая характеристика работы

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

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

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

Визуализаторы позволяют изучать работу алгоритмов в пошаговом режиме, аналогичном режиму трассировки программ.

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

Научно-исследовательские работы. Результаты диссертации были получены в ходе выполнения научно-исследовательских работ по гранту конкурса персональных грантов для студентов и аспирантов вузов и академических институтов Санкт-Петербурга; по теме «Разработка технологии программного обеспечения систем управления на основе автоматного подхода», выполняемой по заказу Министерства образования РФ в 2001-2006 гг.; по теме «Разработка технологии автоматного программирования», выполненной по гранту РФФИ № 02-07-90114 в 2002-2003 гг.; по теме «Разработка технологии объектно-ориентированного программирования с явным выделением состояний», выполняемой по гранту РФФИ № 05-07-90011; по государственному контракту «Технология автоматного программирования: применение и инструментальные средства», выполняемому в рамках ФЦНТП «Исследования и разработки по приоритетным направлениям развития науки и техники на 2002 – годы».

Апробация результатов работы. Основные положения диссертационной работы докладывались на Второй Всероссийской научной конференции «Методы и средства обработки информации» (Москва, МГУ, 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 странице и состоит из списка терминов, введения, шести глав, заключения и двух приложений (на страницах). Список литературы содержит 103 наименования. Работа иллюстрирована рисунками и содержит 12 таблиц.

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

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

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

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

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

1. Интерактивность — учащиеся должны иметь возможность задавать наборы входных данных и рассматривать работу алгоритма на них.

2. Двунаправленность — при работе с визуализатором должна быть возможность совершать шаги алгоритма как вперед, так и назад.

3. Автоматический режим работы — визуализаторы должны предоставлять возможность работы без вмешательства пользователя.

4. История — визуализатор должен обеспечивать возможность пошагового возврата назад, вплоть до начального состояния.

5. Отображение хода выполнения алгоритма — визуализатор должен иметь возможность отображать не только изменения в данных, но и другие действия, например, сравнения при сортировке.

6. Комментарии — на каждом шаге алгоритма должны отображаться комментарии, поясняющие производимое действие.

7. Простота использования — интерфейс визуализатора должен быть интуитивно 8. Свободный доступ — у учащихся должна быть возможность доступа к визуализаторам не только в аудиториях.

распространенных аппаратных конфигурациях и операционных системах.

10. Автономность — при работе визуализатор не должен требовать подключения к вычислительным сетям.

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

11. Удобство создания визуализаторов — простота использования системы визуализации при разработке визуализаторов.

12. Скорость разработки визуализаторов — возможность разработки визуализаторов на основе уже существующих компонент.

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

• «+» — свойство выполняется;

• «–» — свойство не выполняется;

• «±» — свойство выполняется частично.

Таблица 1. Сравнительные характеристики визуализаторов алгоритмов сортировок Также проанализированы девять систем визуализации алгоритмов (таблица 2).

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

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

Диаграмма вариантов использования визуализатора, построенная в результате анализа материала, изложенного в первой главе, приведена на рис. 1.

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

• логика визуализатора, обеспечивающая возможность трассировки алгоритма;

• модель данных, хранящая вычислительное состояние алгоритма;

• визуальное представление — часть визуализатора, определяющая, что и как будет отображаться пользователю в интересных состояниях;

• набор комментариев, определяющий какие комментарии будут отображаться пользователю в каждом интересном состоянии;

• элементы управления, позволяющие пользователю управлять визуализатором;

• интерфейс визуализатора, определяющий каким образом части визуализатора отображаются на экране;

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

Рис. 1. Диаграмма вариантов использования визуализатора Рис. 2. Диаграмма компонентов основных частей визуализатора В целях выделения шагов, поддающихся автоматизации, предложен порядок «ручной» разработки визуализаторов, состоящий из 12 шагов. В результате анализа установлено, что четыре шага из них могут быть автоматизированы полностью, а еще четыре — частично. При этом для автоматизации требуется разработать:

• метод автоматизации построения модели данных по программе;

• метод построения программ, обеспечивающий трассировку исходной программы в прямом и обратном направлениях;

• язык описания визуализаторов.

К логике визуализатора и модели данных выдвигаются отдельные требования.

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

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

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

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

Построение модели данных по программе можно разбить на два этапа:

1. Создание модели данных по программе.

2. Модификация программы к виду, использующему модель данных.

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

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

1. Выражение (expression).

2. Составной оператор ({... }).

3. Укороченный оператор ветвления (if-then).

4. Полный оператор ветвления (if-then-else).

5. Цикл с предусловием (while).

6. Оператор вызова процедуры.

7. Цикл с постусловием (do).

8. Цикл со счетчиком (for).

9. Оператор продолжения цикла (continue).

10. Оператор выхода из цикла (break).

11. Оператор возврата из процедуры (return).

12. Оператор выбора (switch).

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

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

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

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

Построение автомата по процедуре будем выполнять постепенно — от листьев дерева к корню. Для такого построения требуется ввести новые термины.

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

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

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

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

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

Для обеспечения обратимого исполнения будем строить пары автоматов, состоящие из прямого и обратного автоматов. Прямой автомат будет обеспечивать трассировку программы в прямом направлении, а обратный автомат — трассировку в обратном направлении.

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

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

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

В рекурсивной программе одна и та же процедура может встречаться в цепочке вызовов несколько раз. Назовем каждое вхождение процедуры в цепочку вызовов экземпляром процедуры. Для отражения этого факта введем понятие экземпляр автомата.

Экземпляр автомата — объект, хранящий состояние такого автомата. При этом все экземпляры автомата имеют общую логику, определяемую графом переходов. Таким образом, экземпляру автомата соответствует одно число — номер его состояния.

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

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

Пара автоматов, построенная при использовании методов, соответствующих столбцам 3 и 4 таблицы 3, приведена на рис. 4.

Рис. 4. Прямой (а) и обратный (б) автоматы для процедуры поиска максимума Для предложенных методов при помощи структурной индукции доказываются следующие основные свойства:

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

3. Непротиворечивость — условия на переходах из одного состояния не могут быть истинными одновременно (все попарные конъюнкции условий на переходах должны быть невыполнимы).

4. Отсутствие недостижимых состояний — любое состояние может быть достигнуто по переходам из начального состояния.

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

Также показывается, что построенная система автоматов линейна по длине исходной программы.

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

В пятой главе предлагается язык описания визуализаторов, основанный на XML.

При этом отдельно рассматриваются структуры описаний визуализируемого алгоритма и конфигурации визуализатора.

Описание визуализатора алгоритма можно разбить на две основные части:

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

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

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

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

Операторы могут использовать как глобальные переменные, определенные на уровне алгоритма, так и локальные переменные, определенные в рамках процедуры.

Для оператора может быть указан его уровень, шаблон комментария и связь с визуальным представлением. Шаблон комментария определяет вид и параметры комментария, отображаемого на данном шаге. Связь с визуальным представлением позволяет обновлять визуальное представление при отображении шага.

Корневым элементом конфигурации является элемент configuration.

Конфигурация может содержать следующие элементы:

• Описания групп (элемент group), свойств (property) и сообщений (message).

• Описания таблиц стилей (style и style-set), шрифтов (font), цветов (color).

• Описание элементов управления: панелей (panel), кнопок (button), панелей выбора (adjustablePanel).

Данные элементы позволяют гибко задавать внешний вид визуализатора, не модифицируя его код.

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

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

Система визуализации Vizi состоит из двух основных частей: динамической, функционирующей во время исполнения визуализатора, и статической, работающей на этапе создания визуализатора.

Динамическая часть состоит из библиотеки времени исполнения и кода, сгенерированного по описанию визуализатора. При этом динамическая часть фиксирует структуру визуализатора.

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

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

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

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

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

Отметим сходства и различия Vizi и BaseApplet, влияющие на сравнение:

1. При построении визуализаторов используется единый язык и стиль программирования.

2. Визуализаторы выполнялись людьми примерно одинаковой квалификации.

3. К проектам визуализаторов предъявлялись схожие требования.

4. Vizi содержит средства автоматизации построения визуализаторов, разработанные на основе предложенных методов.

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

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

Из результатов сравнения, приведенных в таблице 4, следует, что применение системы визуализации Vizi позволяет сократить размер кода визуализатора. Отметим, что с усложнением визуализируемого алгоритма уменьшение размера кода в процентном отношении имеет тенденцию к увеличению.

Список визуализаторов, построенных на основе системы визуализации Vizi в 2003-2004 учебном году, представлен в таблице 5. Здесь в столбце «А» обозначено количество пар автоматов, а в столбце «С» — суммарное количество состояний в них. В общей сложности с 2003 по 2006 год на основе системы Vizi было построено более визуализаторов алгоритмов.

Таблица 4. Сравнение размеров исходного кода визуализаторов Поиск двусвязных компонент графа Обход графа в ширину и глубину Фалкерсона Алгоритм Форда-Беллмана Гаврилов М. Кулагин Д.

Таблица 5. Визуализаторы, выполненные на основе Vizi Построение кратчайшего дерева в ориентированном графе Пименов C. Битонический алгоритм для задачи коммивояжера Красильников Н. Генерация всех простых строк и построение цикла Лоторейчик В. де Брюина Нахождение максимального потока в сети методом Бедный Ю. Малхотры-Кумара-Махешвари Нахождение максимального потока в сети методом Диница Бедный Ю. Система визуализации Vizi (как и ее предшественник BaseApplet) была использована в учебном процессе на кафедре «Компьютерные технологии» СПбГУ ИТМО, лицее «Физико-техническая школа» (Санкт-Петербург), специализированном учебно-научном центре МГУ (Москва).

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

В диссертации получены следующие результаты:

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

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

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

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

5. Результаты работы были внедрены в учебном процессе различных учебных взаимодействующих конечных автоматов / Труды Второй Всероссийской Научной конференции «Методы и средства обработки информации». М.: МГУ. 2005, Корнеев Г. А. Метод преобразования программ в систему взаимодействующих автоматов / Труды II межвузовской конференции молодых учёных. СПб.: СПбГУ ИТМО. 2005, с. 65-72.

Корнеев Г. А. Технология разработки визуализаторов алгоритмов / Труды II межвузовской конференции молодых учёных. СПб.: СПбГУ ИТМО, 2005, c. 18-23.

Казаков М.А., Корнеев Г.А., Шалыто А.А. Разработка логики визуализаторов алгоритмов на основе конечных автоматов // Телекоммуникации и информатизация образования. 2003. № 6, с. 27-58.

Корнеев Г.А., Васильев В.Н., Парфенов В.Г., Столяр С.Е. Визуализаторы алгоритмов как основной инструмент технологии преподавания дискретной математики и программирования / Труды международной научно-методической конференции «Телематика-2001». СПб.: СПбГИТМО (ТУ). 2001, с. 119, 120.

Корнеев Г.А., Шалыто А.А. Реализация конечных автоматов с использованием объектно-ориентированного программирования / Труды X международной научнометодической конференции «Телематика-2003». СПб.: СПбГИТМО (ТУ). 2003, Корнеев Г.А., Казаков М.А., Шалыто А.А. Построение логики работы визуализаторов алгоритмов на основе автоматного подхода / Труды X международной научно-методической конференции «Телематика-2003». СПб.:

СПбГИТМО (ТУ). 2003, с. 378, 379.

Корнеев Г.А., Шамгунов Н.Н., Шалыто А.А. Обход деревьев на основе автоматного подхода // Компьютерные инструменты в образовании. 2004. № 3, с. 33-37.

Корнеев Г.А. Преобразование программы в систему взаимодействующих автоматов, допускающих двустороннюю трассировку / Материалы политехнического симпозиума 2005 «Молодые ученые — промышленности Северо-Западного региона». СПб.: Политехнический университет. 2005, с. 33, 34.

Корнеев Г.А., Шалыто А.А. Построение визуализаторов алгоритмов дискретной 10.

математики // Научно-технический вестник СПбГУ ИТМО. Выпуск 23. Высокие технологии в оптических и информационных системах. СПб.: СПбГУ ИТМО. 2005, Корнеев Г.А., Шалыто А.А. VIZI — язык описания логики визуализаторов 11.

алгоритмов // Научно-технический вестник СПбГУ ИТМО. Выпуск 23. Высокие технологии в оптических и информационных системах. СПб.: СПбГУ ИТМО. 2005, Тиражирование и брошюровка выполнены в центре «Университетские телекоммуникации»

Санкт-Петербург, Саблинская ул. 14; тел: (812)233-46-



Похожие работы:

«МИТРИЧЕВ СЕРГЕЙ ИГОРЕВИЧ РАЗРАБОТКА ОСНОВ СОЗДАНИЯ ВЫСОКОТЕХНОЛОГИЧНЫХ СИСТЕМ СИНТЕЗА И ОПТИМАЛЬНОГО УПРАВЛЕНИЯ ПЕРИОДИЧЕСКИМИ ХТС ДЛЯ ПРОИЗВОДСТВА СМАЗОЧНООХЛАЖДАЮЩИХ ЖИДКОСТЕЙ 05.13.01 – Системный анализ, управление и обработка информации (химическая технология, нефтехимия и биотехнология) АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Москва 2007 Работа выполнена на кафедре кибернетики химико-технологических процессов Российского...»

«ВОЛЧЕНКОВ Илья Дмитриевич РАЗРАБОТКА И РЕАЛИЗАЦИЯ ИНФОРМАЦИОННОЙ ПОЛИТИКИ ОРГАНАМИ ГОСУДАРСТВЕННОЙ ВЛАСТИ В РОССИЙСКОЙ ФЕДЕРАЦИИ Специальность 23.00.02 – политические институты, этнополитическая конфликтология, национальные и политические процессы и технологии АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата политических наук Москва – 2008 2 Диссертация выполнена на кафедре государственного управления и политики Государственного университета управления Научный...»

«ЛУНИН Эдуард Андреевич СОВЕРШЕНСТВОВАНИЕ УПРАВЛЕНИЯ ОБРАЗОВАТЕЛЬНЫМ ТУРИЗМОМ В РФ Специальность: 08.00.05 – экономика и управление народным хозяйством (организация и управление предприятиями, отраслями, комплексами – сфера услуг) АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата экономических наук Санкт-Петербург 2009 Диссертация выполнена на кафедре управления и планирования социально-экономических процессов...»

«Гареева Лилия Махмутовна СИНОНИМИКО-ВАРИАЦИОННЫЕ ОТНОШЕНИЯ ПРЕДЛОГОВ С ОБСТОЯТЕЛЬСТВЕННЫМ ЗНАЧЕНИЕМ В СОВРЕМЕННОМ РУССКОМ ЯЗЫКЕ Специальность 10.02.01 – Русский язык АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата филологических наук Челябинск – 2012 1 Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования Челябинский государственный педагогический университет Научный руководитель : Шиганова...»

«САНАМЯН НАДЕЖДА ПАВЛОВНА ФАУНА МОРСКИХ АНЕМОН (CNIDARIA: ANTHOZOA: HEXACORALLIA: ACTINIARIA, CORALLIMORPHARIA, ZOANTHARIA, ENDOCOELANTHARIA) ПРИКАМЧАТСКИХ ВОД Специальность 03.02.04 – зоология АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата биологических наук Петропавловск-Камчатский 2011 Работа выполнена в Лаборатории гидробиологии Камчатского филиала Учреждения Российской академии наук Тихоокеанского института географии ДВО РАН Научный руководитель доктор...»

«Богомолова Марина Валентиновна ВЛИЯНИЕ ОБОГАЩЕННОЙ СРЕДЫ НА РАЗВИТИЕ ИНТЕЛЛЕКТА И КРЕАТИВНОСТИ Специальность 19.00.01 – общая психология, психология личности, история психологии АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата психологических наук Москва – 2008 Работа выполнена на кафедре общей психологии Института психологии Государственного университета гуманитарных наук Научный руководитель : кандидат психологических наук Тихомирова Татьяна Николаевна...»

«ЖИЛЬНИКОВА ЕЛЕНА ВЛАДИМИРОВНА ЦЕНТРАЛЬНЫЙ БАНК РОССИЙСКОЙ ФЕДЕРАЦИИ КАК ОСОБЫЙ СУБЪЕКТ ПРАВА Специальность 12.00.01 - Теория и история права и государства; история учений о праве и государстве АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата юридических наук Казань 2012 Работа выполнена на кафедре теории и истории государства и права Федерального государственного бюджетного образовательного учреждения высшего профессионального образования Самарский...»

«Макарова Ольга Игоревна ФОРМИРОВАНИЕ КОНЦЕПЦИИ НАЦИОНАЛЬНОГО ИСКУССТВА В КУЛЬТУРЕ ЯПОНИИ КОНЦА XX – НАЧАЛА XX ВВ. Специальность 24.00.01 — Теория и история культуры Автореферат диссертации на соискание ученой степени кандидата культурологии Москва – 2010 Работа выполнена в Институте восточных культур и античности Российского государственного гуманитарного университета Научный руководитель доктор исторических наук, профессор А.Н. Мещеряков Официальные оппоненты : доктор...»

«Речкин Вадим Николаевич РАЗРАБОТКА И ПРИМЕНЕНИЕ КОМПЬЮТЕРНОЙ ТЕХНОЛОГИИ ДЛЯ ЧИСЛЕННЫХ ИССЛЕДОВАНИЙ ПРОЧНОСТИ, УСТОЙЧИВОСТИ И МАЛОЦИКЛОВОЙ ДОЛГОВЕЧНОСТИ СЛОЖНЫХ ЭЛЕМЕНТОВ АВИАЦИОННЫХ ДВИГАТЕЛЕЙ Специальность 05.07.05 Тепловые, электроракетные двигатели и энергоустановки летательных аппаратов АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Саров 2012 Работа выполнена в ООО Саровский инженерный центр Научный руководитель кандидат технических наук,...»

«ЧЕРЕПАНОВ АНАТОЛИЙ ПЕТРОВИЧ МЕТОД ПРОГНОЗИРОВАНИЯ РЕСУРСА СОСУДОВ И АППАРАТОВ ПО КОРРОЗИОННОМУ ИЗНОСУ, СТЕПЕНИ ОПАСНОСТИ И ОБЪЕМАМ ТЕХНИЧЕСКОГО ДИАГНОСТИРОВАНИЯ Специальность: 05.02.13 – Машины, агрегаты и процессы (по отраслям) Автореферат диссертации на соискание ученой степени доктора технических наук Ангарск - 2013 2 Работа выполнена в Научно-диагностическом центре Открытого акционерного общества Ангарская нефтехимическая компания ОАО НКОСНЕФТЬ. Научный консультант :...»

«Чиркин Сергей Юрьевич СИНТЕЗ УПРАВЛЕНИЯ ДВИГАТЕЛЕМ ВНУТРЕННЕГО СГОРАНИЯ НА ОСНОВЕ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ Специальность: 05.13.06 – Автоматизация и управление технологическими процессами и производствами в машиностроении Автореферат диссертации на соискание ученой степени кандидата технических наук Москва-2010 г. Работа выполнена в Московском государственном индустриальном университете (ГОУ МГИУ) кандидат технических наук...»

«КУРМАК ВАЛЕРИЯ ВЛАДИМИРОВНА СОВЕРШЕНСТВОВАНИЕ МЕТОДОВ ВЫЯВЛЕНИЯ И МОНИТОРИНГА ОПАСНЫХ СЕЧЕНИЙ ЭЛЕКТРОЭНЕРГЕТИЧЕСКОЙ СИСТЕМЫ Специальность 05. 14. 02 – Электрические станции и электроэнергетические системы АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Иваново – 2012 Работа выполнена в федеральном государственном бюджетном образовательном учреждении высшего профессионального образования Ивановский государственный энергетический университет имени...»

«ИВАЩЕНКО Антон Владимирович МЕТОДЫ И СРЕДСТВА УПРАВЛЕНИЯ СОГЛАСОВАННЫМ ВЗАИМОДЕЙСТВИЕМ ПЕРСОНАЛА НАУЧНО-ПРОИЗВОДСТВЕННОГО ПРЕДПРИЯТИЯ В ИНТЕГРИРОВАННОЙ ИНФОРМАЦИОННОЙ СРЕДЕ Специальность 05.13.10 – Управление в социальных и экономических системах АВТОРЕФЕРАТ диссертации на соискание ученой степени доктора технических наук ПЕНЗА 2012 1 Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования Самарский...»

«Аксенова Надежда Анатольевна ОСОБЕННОСТИ ФУНКЦИОНАЛЬНЫХ СВОЙСТВ СОЛЮБИЛИЗИРОВАННЫХ ПЛЮРОНИКАМИ ФОТОАКТИВНЫХ СОЕДИНЕНИЙ, ВВЕДЕННЫХ В ПОЛИМЕРНЫЕ МАТРИЦЫ Специальность 02.00.21 –химия твердого тела АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата химических наук Москва-2010 Работа выполнена в Учреждении Российской академии наук Институте химической физики им. Н.Н.Семенова РАН Научный руководитель : доктор химических наук, профессор Соловьева Анна Борисовна...»

«ЛАДАРИЯ АЗА ДЖАБИРОВНА Методическая система работы по развитию русской речи учащихся 5-6-х классов абхазской школы (на материале имени существительного) 13 00.02. -теория и методика обучения русскому языку Автореферат диссертации на соискание ученой степени кандидата педагогических наук Махачкала - 2000 Работа выполнена в Институте повышения квалификации Кабардино-Балкарского государственного университета Научный руководитель -доктор Педагогических наук, профессор Мамхегова...»

«МАКЛАКОВ Иван Александрович ЭПОПЕЯ ДЖ. Р. Р. ТОЛКИНА ВЛАСТЕЛИН КОЛЕЦ В КОНТЕКСТЕ ЗАПАДНОЕВРОПЕЙСКИХ ЛИТЕРАТУРНЫХ ТРАДИЦИЙ Специальность 10. 01. 03. – Литература народов стран зарубежья (английская литература) АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата филологических наук Казань - 2007 Работа выполнена на кафедре зарубежной литературы Государственного образовательного учреждения Казанский государственный университет им. В. И. Ульянова-Ленина Министерства...»

«КАРПОВА ЛЮБОВЬ СЕРГЕЕВНА ЛИНГВОПОЭТИКА ПОВЕСТВОВАТЕЛЬНЫХ ТИПОВ В АНГЛИЙСКИХ СОНЕТАХ ЕЛИЗАВЕТИНСКОГО ПЕРИОДА (НА МАТЕРИАЛЕ ПРОИЗВЕДЕНИЙ Э. СПЕНСЕРА, С. ДЭНИЕЛА, У. ШЕКСПИРА) Специальность 10.02.04 – германские языки АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата филологических наук Москва 2009 Работа выполнена на кафедре английского языкознания филологического факультета ФГОУ ВПО Московский государственный университет имени М. В. Ломоносова НАУЧНЫЙ РУКОВОДИТЕЛЬ:...»

«Коваленко Татьяна Анатольевна РАЗРАБОТКА И ИССЛЕДОВАНИЕ ИНТЕГРИРОВАННОЙ СИСТЕМЫ МАРШРУТИЗАЦИИ В КОМПЬЮТЕРНЫХ СЕТЯХ Специальность 05.13.15 Вычислительные машины, комплексы и компьютерные сети АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Самара – 2012 Работа выполнена в Федеральном государственном образовательном бюджетном учреждении высшего профессионального образования Поволжский государственный университет телекоммуникаций и информатики...»

«ЯКУШЕВ Александр Николаевич НОРМАТИВНО-ПРАВОВОЕ РЕГУЛИРОВАНИЕ ПРОИЗВОДСТВА В УЧЁНЫЕ СТЕПЕНИ В РОССИИ (1724-1918 гг.) Специальность 12.00.01 – теория и история права и государства; история учений о праве и государстве Автореферат диссертации на соискание ученой степени доктора юридических наук Санкт-Петербург 2011 2 Диссертация выполнена на кафедре теории и истории государства и права НОУ ВПО Юридический институт (Санкт-Петербург) доктор юридических наук, профессор Научный...»

«ПАЛЬЦЕВА ЕЛЕНА СЕРГЕЕВНА ВЗАИМОДЕЙСТВИЕ СВОБОДЫ СЛОВА И ПРАВА НА ЗАЩИТУ ЧЕСТИ, ДОСТОИНСТВА И ДОБРОГО ИМЕНИ: КОНСТИТУЦИОННО-ПРАВОВОЙ АСПЕКТ Специальность 12.00.02 – Конституционное право; муниципальное право АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата юридических наук Санкт-Петербург – 2012 2 Работа выполнена в Федеральном государственном бюджетном образовательном учреждении высшего профессионального образования Петрозаводский государственный университет...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.