УНИВЕРСИТЕТ ИТМО
Кафедра «Технологии программирования»



Главная

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

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

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

English
 Home

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


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

Яndex



   Главная / Курсовые проекты / ИСПОЛЬЗОВАНИЕ SWITCH-ТЕХНОЛОГИИ ПРИ РАЗРАБОТКЕ ПРОГРАММ В СРЕДЕ "FLORA/C+" (версия для печати)


ИСПОЛЬЗОВАНИЕ SWITCH-ТЕХНОЛОГИИ ПРИ РАЗРАБОТКЕ ПРОГРАММ В СРЕДЕ "FLORA/C+"



МОДЕЛЬ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА В ЦЕХЕ ХОЛОДНОЙ ПРОКАТКИ

Туккель Н.И., Шалыто А.А., Ваганов С.А.

© Санкт-Петербург 2001

Ссылки на сопроводительные материалы

Полный текст статьи в формате pdf (153 кб)

Копия экрана с изображением пользовательского интерфейса в формате jpg (198 кб)

Текст программы, разработанной для среды "Flora/C+", и конфигурационный файл (33 кб)

Саму среду можно скачать с сайта www.compassplus.ru

 

Введение

Предлагаемая программная документация описывает учебный пример использования SWITCH-технологии при разработке программ в среде "Flora/C+".

Разработанная программа реализует визуальную модель технологического процесса в цехе холодной прокатки и основана на аналогичном примере, поставляемом вместе со средой "Flora/C+" (www.compassplus.ru) версии 2.1.4.0.

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

Функциональные алгоритмы разработаны и реализованы с использованием SWITCH-технологии, базирующейся на применении конечных автоматов. Это позволило, в частности, автоматически получать протоколы работы программы в терминах автоматов, обеспечивая наглядность ее функционирования. Эти алгоритмы реализованы системой из четырех взаимосвязанных автоматов, взаимодействующих по вложенности и обмену номерами состояний. Головной автомат отвечает за включение/отключение модели, а остальные автоматы вложены в него и управляют анимацией различных составных частей модели. Взаимодействие этих автоматов осуществляется путем обмена номерами состояний. Визуальная модель цеха холодной прокатки состоит из трех областей, каждая из которых управляется отдельным автоматом:

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

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

1 . Описание пользовательского интерфейса

При запуске программы создаются три окна:

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

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

(Схема в натуральную величину в отдельном окне)

1.1. Окно видеокадра

Окно видеокадра содержит две области: слева расположена область анимации, справа расположен пульт, содержащий кнопку "Пуск", включающую/отключающую систему, и диалоговые элементы для задания параметров модели.

1.2. Окно протокола

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

  • момент времени, в который один из автоматов изменил свое состояние;
  • значения переменных состояния автоматов A0, A1, A2, A3 (y0, y1, y2, y3);
  • номер состояния графа достижимых маркировок для системы взаимосвязанных автоматов A0..A3. Следует отметить, что номера состояний графа достижимых маркировок присваиваются динамически и могут отличаться при различных запусках программы в зависимости от последовательности поступления входных воздействия.

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

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

1.3. Окно выбора режима отладки

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

  • "Протоколировать". Активация данной опции разрешает любое протоколирование;
  • "Бесповоротное протоколирование". При активации данной опции отключается вывод в протокол повторяющихся сообщений. Сообщение считается повторяющимся, если оно уже присутствовало в числе последних сообщений в протоколе (глубина просмотра задается в функции вывода сообщения в протокол);
  • "Протоколировать переходы". Данная опция разрешает вывод в протокол сообщений о выполнении автоматами переходов;
  • "Протоколировать входы". Данная опция разрешает вывод в протокол сообщений об опросе входных переменных;
  • "Протоколировать выходы". Данная опция разрешает вывод в протокол сообщений о выполнении выходных воздействий;
  • "Протоколировать запуски". Данная опция разрешает вывод в протокол сообщений о запуске автоматов. Включение этой опции значительно увеличивает объем протокола;
  • "Протоколировать завершения". Данная опция разрешает вывод в протокол сообщений о завершении обработки автоматами очередного события. Включение этой опции значительно увеличивает объем протокола;
  • "Останов при протоколировании". Данная опция включает точку останова в функции вывода сообщения в протокол. При запущенном отладчике программа будет останавливаться после вывода в протокол каждого сообщения;
  • "Останов при переходах". Данная опция включает точку останова в функции, вызываемой при изменении состояния одного из автоматов. При запущенном отладчике программа будет останавливаться после того, как один из автоматов перешел в новое состояние и выполнены перечисленные в нем выходные воздействия. При этом в нижней части окна отладки будет отображаться сообщение о том, какой из автоматов совершил переход, а также номера нового и старого состояний.

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

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

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

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




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