автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Автоматизация проектирования аппаратно-зависимых программных реализаций автоматных диаграмм

кандидата технических наук
Антипова, Екатерина Владимировна
город
Ульяновск
год
2012
специальность ВАК РФ
05.13.12
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Автоматизация проектирования аппаратно-зависимых программных реализаций автоматных диаграмм»

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

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

0050»

АНТИПОВА Екатерина Владимировна

АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ АППАРАТНО-ЗАВИСИМЫХ ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АВТОМАТНЫХ ДИАГРАММ

Специальность:

05.13.12. «Системы автоматизации проектирования (промышленность)»

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

1 3 ДЕК 2012

Ульяновск — 2012

005057255

Работа выполнена на кафедре «Вычислительная техника» Ульяновского государственного технического университета.

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

Негода Виктор Николаевич

Официальные оппоненты: Егоров Юрий Петрович,

доктор технических наук, профессор, ФНПЦ ОАО «НПО "Марс"», главный специалист Похилько Александр Федорович, кандидат технических наук, профессор, УлГТУ, кафедра «Системы автоматизации проектирования», профессор

Ведущая организация: ОАО «Ульяновское конструкторское бюро

приборостроения»

Защита состоится «26» декабря 2012 года в 12 часов 00 минут на заседании диссертационного совета Д212.277.01 при Ульяновском государственном техническом университете, ауд. 211.

С диссертацией можно ознакомиться в научной библиотеке Ульяновского государственного технического университета.

Автореферат разослан 24 ноября 2012

Ученый секретарь Диссертационного совета д.т.н., профессор

В. И. Смирнов

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность проблемы. При создании программного обеспечения встроенных систем широко применяются диаграммы состояний как средство определения алгоритмов функционирования. В последние 15 лет активно развиваются средства проектирования, которые позволяют автоматически генерировать программы из диаграмм состояний на основе технологии автоматного программирования. Этим занимаются Зюбин В.Е, Кузнецов Б.П, Любченко B.C., Страбыкин А.Д., Чунихин О.Ю., Шалыто A.A. и его ученики, Дж. Э. Хопкрофт, Р. Мотвани, Дж. Д. Ульман, A.B. Ахо и др.. Результатом этих исследований являются методы, алгоритмы и программные средства реализации автоматных диаграмм, обеспечивающие автоматизацию проектирования логической части программы управления.

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

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

Объект исследования - автоматизация проектирования автоматных диаграмм.

Предмет исследования - автоматизация проектирования аппаратно-зависимых программных реализаций диаграмм состояний.

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

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

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

2. Разработать и реализовать механизмы структурных и аппаратно-зависимых трансформаций автоматных диаграмм.

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

4. Разработать программную систему поддержки автоматизированного проектирования аппаратно-зависимых программных реализаций автоматных диаграмм.

Методы исследования. При решении поставленных задач использованы методы теории автоматов, теории графов, объектно-ориентированного программирования, модельно-ориентированного проектирования, теории компиляторов и языков программирования.

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

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

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

3. Разработана модель процесса автоматизированного проектирования аппаратно-зависимых программных реализаций автоматных диаграмм, отличающаяся от известных моделей и методов поддержкой двух видов трансформаций: трансформаций самих исходных диаграмм на основе использования расширенной нотации языка ЦМЬ с учетом проектных решений аппаратной части, а также трансформаций структурно-функциональной организации порождаемого исходного кода программ.

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

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

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

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

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

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

Внедрение результатов. Результаты, полученные в диссертации, используются в компании Тауруна (г. Ульяновск) при разработке программного обеспечения для микроконтроллеров и в учебном процессе УлГТУ.

Основные положения, выносимые на защиту:

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

2. Определение автоматной модели как совокупности диаграммы классов, диаграмм состояний и диаграммы подключений, которые позволяют учесть все аспекты разрабатываемой программы управления встроенной системы: статические (для определения структуры программы управления), динамические (для разработки алгоритмов поведения программы управления) и аппаратно-зависимые, определяющие порядок взаимодействия программы микроконтроллера с внешними устройствами.

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

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

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

Публикации. По теме диссертации опубликовано 10 печатных работ, в том числе 2 - в изданиях, рекомендованных ВАК РФ.

Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы и пяти приложений. Основное содержание изложено на 193 страницах, включая 63 рисунка и 28 таблиц. Список литературы включает 273 наименования.

СТРУКТУРА ДИССЕРТАЦИОННОЙ РАБОТЫ

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

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

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

Широко распространен подход к программированию систем логического управления, основанный на стандарте программирования контроллеров и схемотехнических устройств МЭК-61131-3, в котором описываются языки программирования, созданные на основе наиболее популярных языков программирования для контроллеров. Всего их 5: SFC (Sequential function chart), IL (Instruction list), ST (Structured text), LD (Ladder diagram), FBD (Function block diagram). Однако описать конечный автомат средствами языков МЭК довольно сложно в силу особенностей их формализма.

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

на диаграмме переход между состояниями различного уровня вложенности при свернутых композитных состояниях (сквозной переход), а также в каком порядке выполняются действия при подобных переходах. В формализме автоматного программирования по технологии SWITCH (разрабатывается с 1991 года в СПбГУ ИТМО) в проекте Unimod композитные состояния заменены вложенными автоматами. И это исключает возможность переходов между состояниями различного уровня вложенности. Хотя в более ранних работах есть упоминание о преобразовании исходного графа и переводе вложенных состояний в составе композитного в граф более высокого уровня.

В работах по проекту ЗЕБРА (Чунихин О.Ю., г. Новосибирск) приведена формальная модель диаграмм состояний UML, в том числе формально определен композитный переход. Определена последовательность активаций состояний при переходе в композитное состояние и во вложенное состояние. Но композитный переход предназначен для работы с параллельными регионами, а в дальнейших работах автора упоминается, что от их поддержки пришлось отказаться по причине сложности и неэффективности реализации.

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

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

Среди программных сред проектирования автоматных диаграмм, поддерживающие автоматическую генерацию программ, отмечены следующие: Astade (инструмент UML моделирования, генерирующий программы на С++), конвертор Visio2Switch (предназначен для автоматической генерации кода на языке С по автоматным графам, разработанным в MS Visio в соответствии с требованиями SWITCH-технологии), инструментальное средство UniMod (предназначено для создания «исполняемых» графов переходов для платформы Eclipse), Finite State Machine Editor (включает в себя компоненту для создания и редактирования графов переходов автоматов, конвертер графов переходов, сохраненных в XML-формате в языки С++ и Python, компоненту для визуальной отладки графов переходов), инструментальное средство MetaAuto (предназначено для разработки проектов в автоматной парадигме), State Machine Compiler (инструмент, который сопоставляет конечные автоматы и объекты, генерирует программы из диаграмм состояний по образцу проектирования State на языках С++, Java, tel, VB, С#), StarUML (предназначен для быстрой, гибкой, расширяемой разработки), Visual Paradigm for UML (полнофункциональное средство разработки приложений, поддерживающее все виды диаграмм UML 2.0, SysML и ER-диаграммы), MatLab Simulink (мощный инструмент, позволяющий разрабатывать диаграммы состояний и генерировать из них программный код на С для многих

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

Существуют узкоспециализированные программные инструменты для программирования микроконтроллеров на языках МЭК-61131-3, поддерживающие аппаратно-зависимое проектирование для микроконтроллеров одного-двух производителей. Только несколько из них (например, Siemens Simatic Step7 и Actum Realizer) поддерживают разработку алгоритма функционирования программы микроконтроллера в автоматных диаграммах с учетом особенностей целевой архитектуры. Однако, реализация аппарата автоматных диаграмм в них весьма скудна (в Actum Realizer нет вложенных состояний), автоматизация рутинных операций остается на низком уровне (в Simatic Step 7 приходится вручную вводить данные в таблицу символов), а также ориентированность на очень ограниченный класс целевых платформ не позволяет в полной объеме решить поставленные задачи.

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

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

Автоматизация проектирования аппаратно-зависимых программных реализаций автоматных диаграмм ориентируется на поддержку проектного процесса, обобщенная схема которого представлена на рисунке 1.

На рисунке 1 пунктиром обведены компоненты, предложенные ранее в работах других авторов, но переработанные и расширенные в данном исследовании. Жирным контуром обозначены компоненты, отсутствующие в других системах. Буквами А и Я обозначены аппаратные и языковые аспекты, в большей мере влияющие на соответствующий этап проектирования.

Как видно из рисунка 1, процесс опирается на классический цикл автоматизированного проектирования.

Анализ требований

Анализ требований

II

ъ

Тестирована! проекта

7\

-/

Интеграция С Настройка целевой среды А

Проектирование

Редактирование диаграммы подключений А

пг

Редактирование ■

диаграмм состояний У '

I Редактирование | диаграммы классов

Структурная верификация и трансформация автомата А

Конфигурирование автомата под параметры целевой среды А

Тестиоование компонент

Генерация программного кода на целевом языке

Аппаратно-зависимая верификация и трансформация автомата А

Рис. 1. Обобщенная схема проектного процесса автоматизированного проектирования программно-аппаратных реализаций автоматных диаграмм

Предлагаемый подход к проектированию программно-аппаратных реализаций автоматных диаграмм состоит из следующих положений:

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

2. Разрабатывается диаграмма подключений и производится первичное конфигурирование макета проектируемой системы (выбор и настройка микроконтроллера, объектов управления и т.д.)

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

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

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

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

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

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

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

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

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

Рассмотренный подход к автоматизации проектирования программно-аппаратных реализаций автоматных диаграмм описывает технологию создания программного обеспечения для микроконтроллеров.

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

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

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

Таким образом, диаграмма подключений решает следующие задачи:

1. Определение или переопределение целевой платформы (микроконтроллера) из расширяемой библиотеки.

2. Определение или переопределение направленности выводов микроконтроллера (входные, выходные и двунаправленные контакты).

3. Определение или переопределение типа функционирования проектируемой системы (событийный, дискретный или гибридный).

4. Выбор сопряженных устройств из расширяемой библиотеки.

5. Определение или переопределение подключения сопряженных устройств к контактам микроконтроллера.

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

Условное ^ обозначение объекта управления

Условное К: обозначение источников сигналов (кнопка)

PD3:INt PB5:SCK

PD4:XGCT0 AVCC

GND ADCS

vec AREF

GND AGND

vec ADC7

PB8:XTALt:TOSC1 PCftADCO

PB7:XTAL2:TOSC2 FCIADCI

PD5:T1 PC2:ADC2

PD6:AIN0 PC3:ADC3

PD7:AIN1 PC4:ADC4:SDA

PBQ:ICP PC5:ADC5:SCL

PB1:0C1A PCS:'RESET

PB2:'SS:OC1B

PB3.MOSiOC2 роТгто,

PBiMISO PD2:INT0

АТтедэЗ

Условные обозначения средera отображения информации

Условное обозначений микроконтроллера

Рис. 2. Общий вид диаграммы подключений

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

Статические аспекты процесса управления описываются при помощи диаграммы классов UML. Общий вид диаграммы классов для описания структуры автомата приведен на рисунке 3.

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

Название класса, описывающего структуру автомата

Ь

Внутренняя переменная

Ь

Интервал дискретности

Внутренняя

«automaton»

Top Package:jMainAutomaton

Входная портовая [\ переменная_IJ

___= PORTA. 1=^17

«automaton»;-cutpuiyglue : Output = РОЯТС.0=0-); •variable; intjH;

Выходная портовая [\ ттрпеменнзя _ I

«automaton» \8xtfactedMggTgd£[J" «аідпаІ»+[іідпаІ(УП_

Описатель входного сигнала!

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

На рисунке 4 приведен общий вид диаграммы состояний для описания поведения программы управления.

Состояние

ь.

Переход

Начальное состояние

<«1 I .' к [ \ I [leventlQ

Йл

Собьгтс'

Вызов

автоматного

метода

-

Максимальное время

пребывания

£r.try ¿(entry Function 1 оП Do/dolftiuefc I A"

\

gventlfti'] some Action^

Вызов функции с параметром

ft

V

\

Compoa£eState4

Л

StiteT

Вызов функции

Фрагмент кода

D;

I

Епиу.^й]

Входная портовая ^ переменная в сторожевом условии

J

Конечное состояние

|sEiMhed( іі )]event20

1

ш

Выходная |\

портовая

переменная

Композитное .состояние

Вызов функции в сторожевом условии

Рис. 4. Общий вид диаграммы состояний

Логико-алгебраическая модель спецификаций автоматных диаграмм представляется в виде множества М = {CD, SD, {AD,), F), где CD - диаграмма подключений, SD - диаграмма классов, F - множество операций, а {ЛД} -множество автоматных диаграмм. Состояние 5/ из множества состояний 5" автоматной диаграммы ADn обозначается 5я,-. Множество переходов автоматной диаграммы AD„ обозначается 1".

Логико-алгебраическая модель диаграммы подключений представляет собой множество CD = {Chip, {Devicei}, Model), где Chip - формальное описание

микроконтроллера, {Device,} - множество сопряженных устройств, Model -множество настроек проекта.

Формальная модель микроконтроллера представляет собой множество Chip = {Name, Clock, IntSRAM, ExtSRAM, EEPROM, ProgFlash, {Port,, ¡=0..Л'}, {ChipPirij, j=\..M], {Interruptiorik, k=0..K}, {Timer,, t=0..T}}, включающее в себя формальные описания множеств портов ввода-вывода, контактов, прерываний и встроенных таймеров. Модель сопряженного устройства описывается множеством Device/ = {Name, Description, View, DeviceType, DeviceCategory, {DevicePropertyj, j=0..N}, {Pinp j=\..M], {Statek, k=l..K), {Connection,, t=\..T}, {■variablev, v=0..V}, {function/, f=0..F}, {area„ r=Q..R), {subDevices, i=0..5}}, включающего в себя тип и категорию устройства, а также формальные описания множеств состояний, контактов, соединений, внутренних переменных и функций, интерактивных областей, вложенных устройств. Устройства относятся к одной из категорий (источник событий, устройство отображения, объект воздействия) и к одному из типов (светодиод, дисплей, кнопка, генератор, электромотор, регулятор и т.д.) Состояние устройства зависит от комбинации значений на входных контактах, на выходные контакты выводятся соответствующие значения. Значения на выходах устройства могут зависеть от значений внутренних переменных и выполнения внутренних функций.

Множество операций представляет собой множество F = F[unamn и Fcode u

u ^input U Foutput U Fsignal U Fautoraalon, где. ^"function ~ МНОЖвСТВО ВСТроеННЫХ

подпрограмм, описанных на промежуточном языке программирования, Fcode -множество фрагментов кода на промежуточном языке программирования, Finput -множество ВХОДНЫХ портовых переменных, ^output _ множество выходных портовых переменных, ^signai ~ множество входных сигналов, Fautomaton - множество программных модулей, поведение которых описывается отдельной автоматной диаграммой. В качестве промежуточного языка выбран С, как наиболее распространенный язык для программирования микроконтроллеров.

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

Простое состояние описывается множеством simple = {Id, Parentld, Description, Fcm, Fd0, Fait, Timeout, Tm, Tmt), где Id - идентификатор состояния, Parentld - идентификатор композитного состояния, в которое вложено данное состояние, Description - описание, Fentry - множество операций, выполняемых при входе В состояние (Fentiy £ ^function Fcode u ^output u ^automaton), Fio - МНОЖвСТВО операций, вызываемых циклически до тех пор, пока не происходит выход из

СОСТОЯНИЯ (Fdo Е Function U Fcode U Foutput U Fautomaton), Fexit - МНОЖвСТВО Операций,

вызываемых непосредственно перед выходом из состояния (FexitcFfunctj0nu_FQ0deu и Foutput U Fautomaton), Timeout - постоянная величина или формула, определяющая

максимальное время пребывания в состоянии (Timeout е ^йпс1!оп u Fcode), Тт, Tout -множества входящих и исходящих переходов.

Композитное состояние описывается множеством ^composite = {Id, Type, Parentld, Description, Fcntry, Fio, Fmit, Timeout, Tm, Tout, S^tates, Seniyref, ¿'exitref} • Отличие от описания простого состояния состоит во множестве вложенных СОСТОЯНИЙ Ssubstates. МНОЖеСТВЭХ ССЬШОК на ТОЧКИ входа Semyref и ссылок на точки выхода Sodtref. Непосредственное вложение состояния SFj в композитное состояние iS* обозначается Smj е S>k- Произвольный уровень вложенности обозначается S"j е* tff Точка входа и точка выхода композитного состояния S'q обозначается 5ientry5p9 и tfexbSfg соответственно. Соответствующие им ссылки на точки входа и точки выхода обозначаются S',entry,Spî и S^exit?^.

Переход Ti е V описывается множеством {Id, Parentld, guard, event, FacHon}, где Id - идентификатор перехода; Parentld - идентификатор композитного состояния, которому принадлежит переход; guard - сторожевое условие, принимающее в качестве аргументов элементы множеств Finput, F^lion, ^automaton ИЛИ Fcode! event S Fsignai; .Faction Q Ffonction ^ Fcode ^ F0utput U Fautomaton-

Переход ИЗ СОСТОЯНИЯ iS" в состояние SFj по условию dx и с выполнением операций ау обозначается S", (dx/ay) -> Sfj, где dx е guard х event.

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

Для сквозного перехода 5", (djay) —> 5™,-, где п Ф m или одно или оба из состояний iS",- и SFj являются композитными, возможны следующие варианты разложения данного сквозного перехода на сегменты.

1. Сквозной переход во вложенное состояние более глубокого уровня вложенности. Если 35"* : S"j е* и 5> - диаграмма, непосредственно вложенная в то 5",- (djay) -> S™, = 5я,{¿4) Яепйу5"^+ S'entryS"* (djay)

2. Вход в композитное состояние. Если : S*/ е SFj, то 5fj(djay) S"j = = S", {djay) -> Л.

3. Выход из явно указанного вложенного состояния. Если ЭЗ"1* : 5",- е* S"1*, и 5> - диаграмма, непосредственно вложенная в то 5",- {djay) -» S"j = S", (dx) —>

S?ex its™* + ^exitS™* (djay) STj.

4. Выход из композитного состояния. Если 35?к : S1 к б то V/ : t = 1..Г, S>, е STi, S", (djay) = {S1, (dx) ¿exits",, t = 1 ..T} + ^exitS", (djay) S",-.

Для отображения множества автоматных диаграмм AD в программный код описаны алгоритмы преобразования элементов диаграмм в языковые конструкции языка программирования, т.е. шаблон целевой среды, который представляет собой множество параметризованных конструкций целевого языка программирования Templatej = {Id, {Рр j = l..m}, Code}. Каждая такая конструкция имеет свой

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

Для реализации трассировки автоматной модели разработаны спецификации входных и выходных протоколов. Входной протокол трассировки автомата можно представить множеством Trace элементов вида trace^ = {n, t, f}, где п - номер такта, t - модельное время, f е FSig„ai. Выходной протокол может быть кратким и расширенным. Краткий выходной протокол описывается множеством {n, t, f, sfrom, st0}, где n - номер такта, t - модельное время, f е FSignai - принятый сигнал, Sfrom, st0 sS-исходное и целевое состояния.

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

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

На основе описанных выше множеств построена БНФ-нотация языков спецификаций исходных данных и продуктов генерации.

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

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

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

системы, всего 136 классов и более 300 ассоциаций. Реализация программной среды составляет более 30000 строк кода на языке С#.

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

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

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

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

Оценка параметров порождаемого кода проводилась в сравнении реализаций различных вариантов структурно-функциональной организации целевого кода с реализацией на основе switch-технологии. Показано, что при реализации в табличные представления автоматов (отображение множества переходов в общий список спецификаций и отображение множества переходов в сегментированное множество спецификаций) количество строк кода увеличивается до 42%, объемы памяти программ и данных и время реакции увеличиваются более чем в 20 раз. Однако, данные два варианта отображения имеют самые лучшие значения оценки сложности ручной модификации.

С другой стороны, отображение множества актуальных состояний в множество меток перехода показывает значительный прирост показателей скорости реакции программы на сигнал. Для реализации программы управления сверлильной машиной суммарное, среднее и минимальное время реакции на сигнал уменьшалось более чем на 40%, минимальное время реакции уменьшилось на 27%. При отображении множества актуальных состояний в объекты класса State также замечен прирост в скорости работы программы, но менее значительно (3-6%), зато заметно увеличилась максимальная скорость реакции (около 15%). Схожие результаты получены после применения к диаграмме состояний управления сверлильной машины трансформации «Выделение возвратной части автомата в композитное состояние». А при применении трансформации «Выделение возвратной части автомата в автоматный метод» удалось достичь

сокращения памяти данных на 25% и уменьшения максимального времени реакции на сигнал на 13.5%.

Если сравнивать различные трансформации автоматных диаграмм в рамках одного варианта структурно-функциональной организации порождаемого кода, то можно заметить, что применением трансформации «Выделение возвратной части автомата в автоматный метод» для автомата управления сверлильной машиной удается повысить скорость реакции программы при отображении актуальных состояний в аргумент оператора выбора на 45% и при отображении переходов в общий список спецификаций автомата на 28% относительно автомата без применения трансформаций.

Для автомата управления плавильной печи затраты памяти программ варьируются от -60% до 6% в зависимости от варианта структурно-функциональной организации программы. Значительного прироста скорости получить не удалось (максимум 13% для варианта отображения множества состояний во множество меток переходов). Эффективной оказывается трансформация «Выделение возвратной части автомата в автоматный метод», по нескольким параметрам: до 12% по количеству строк кода, до 10% по объему памяти данных и до 55% сокращения максимального времени реакции. Сравнение различных трансформаций в рамках одного варианта порождения также показывает изменение статических показателей кода (количество строк, затраты памяти программ и данных) в худшую сторону, тогда как скорость реакции программы на сигналы увеличивается даже для обычно «медленных» вариантов отображения множества переходов в общий список переходов и в сегментированное множество спецификаций (до 60% относительно программы без применения трансформаций).

Автомат блока регуляции мощности трансформациям не подвергался в силу простой структуры, однако, при отображении автомата в различные варианты структурно-функциональной организации программ относительно технологии switch получились следующие значения параметров: от -2% до 8% отличия в количестве строк кода, от 5% до 33% отличия в затратах памяти программ, от -113% до 86% отличия в затратах памяти данных.

К автомату микропроцессорного реле времени оказались эффективно применимы трансформации «Инкапсуляция реализации», «Выделение возвратной части автомата в композитное состояние», «Выделение возвратной части автомата в автоматный метод», «Объединение групп состояний с общими спецификациями», комбинация трансформаций «Инкапсуляция реализаций» и «Выделение возвратной части автомата в автоматный метод». Основные параметры кода при выборе различных вариантов генерации без применения трансформаций изменяются в худшую сторону относительно технологии switch. После применения трансформации «Инкапсуляция реализации» скорость работы программы увеличивается на 94% для варианта отображения множества состояний в множество меток перехода. Трансформация «Выделение возвратной части автомата в композитное состояние» заметных приростов параметров кода не дает, а трансформация «Выделение возвратной части автомата в автоматный

метод» увеличивает скорость работы на 94% для варианта отображения множества состояний в объекты класса State. Трансформация «Объединение групп состояний с общими спецификациями» дает прирост скорости реакции до 94%. Комбинация трансформаций выгодна в случае отображения множества состояний в множество меток перехода.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

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

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

4. Разработаны и реализованы механизмы структурных и аппаратно-зависимых преобразований автоматных моделей, которые позволяют находить наиболее эффективные решения задач проектирования.

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

6. Разработаны и реализованы алгоритмы генерации программного кода из автоматных моделей, что позволяет получать максимально эффективные реализации автоматных диаграмм, сокращая время разработки микроконтроллерных систем управления на 30-35%.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

Публикации в изданиях, рекомендованных ВАК

1. Антипова Е.В., Негода В.Н. Автоматизация проектирования программно-аппаратных реализаций автоматных диаграмм систем управления // Автоматизация процессов управления. —2012, №1(27). — с. 47-55.

2. Антипова Е.В. Влияние способа преобразования автоматных диаграмм на параметры сгенерированного программного кода // Вестник Волжского университета им. В.Н. Татищева. Серия «Информатика». — 2012,Вып. 20. — с. 111-122.

Публикации в других изданиях

3. Antipova E.V., Negoda V.N. Comparative research of state diagram translation methods // Interactive Systems and Technologies: the Problems of Human-Computer Interaction. Volume III. — Collection of scientific papers.Ulyanovsk: U1STU, 2009. — 468 p. pp. 177-181.

4. Антипова E.B., Негода В.Н. Использование перегрузки операторов для автоматного программирования // Информатика, моделирование, автоматизация проектирования: сборник научных трудов / под ред. В.Н. Негоды. — Ульяновск : УлГТУ, 2009. — 284 с. С. 46 - 51.

5. Антипова Е.В. Проект генератора исходного кода реализаций диаграмм состояний // Информатика и вычислительная техника : сборнк научных трудов / под науч. ред. П.И. Соснина. — Ульяновск : УлГТУ, 2009. — 275 с. С. 10 - 15.

6. Антипова Е.В. Разработка структуры модели генерации исходного кода на основе автоматных диаграмм // Всероссийская конференция с элементами научной школы для молодежи «Проведение научных исследований в области обработки, хранения, передачи и защиты информации», 1-5 декабря 2009 г. Россия, Ульяновск : сборник научных трудов. В 4 т. Т. 3. — Ульяновск, 2009. — 419 с. С. 198-205.

7. Антипова Е.В. Среда быстрого проектирования систем логического управления (на основе диаграммных моделей) // Информатика, моделирование, автоматизация проектирования: сборник научных трудов / под ред. В.Н. Негоды. — Ульяновск : УлГТУ, 2010. — 640 с. С. 3 - 8.

8. Антипова Е.В. Формальная модель сквозных переходов UML // Информатика и вычислительная техника : сборник научных трудов / под ред. H.H. Войта. — Ульяновск : УлГТУ, 2011. — 656 с. С. 37 - 42.

9. Антипова Е. В., Негода В.Н. Разработка протокола взаимодействия автоматной модели и целевой платформы в процессе имитационного тестирования автоматных диаграмм // Информатика, моделирование, автоматизация проектирования: сборник научных трудов / под ред. H.H. Войта. — Ульяновск : УлГТУ, 2011. — 416 с. С. 39 - 44.

10. Antipova Е., Negoda V. Using automatic methods for automata models development // Interactive Systems and Technologies: the Problems of HumanComputer Interaction. - Collection of scientific papers. — Ulyanovsk:UlSTU, 2011. — 435 p. pp. 104- 109.

Подписано в печать 21.11.2012. Формат 60x84/16. Усл. печ. л. 1,16. Тираж 100 экз. Заказ № 1027. Типография УлГТУ. 432027. Ульяновск, Сев. Венец, 32.

Оглавление автор диссертации — кандидата технических наук Антипова, Екатерина Владимировна

Введение.

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

1.1 Спецификации автоматных диаграмм.

1.2 Методы автоматного программирования.

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

1.4 Сравнительная характеристика средств автоматизации проектирования реализаций автоматных диаграмм.

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

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

2.1 Разработка подхода к автоматизации проектирования аппаратно-зависимых программных реализаций автоматных диаграмм.

2.2 Разработка языков спецификаций.

2.3 Детализация модели процесса проектирования аппаратно-зависимых программных реализаций автоматных диаграмм.

2.4 Разработка механизмов автоматической генерации автоматных программ.

2.5 Разработка механизмов трансформации автоматных диаграмм в процессе автоматизированного проектирования аппаратно-зависимых программных реализаций.

2.6 Разработка протокола взаимодействия модели и платформы в процессе имитационного тестирования автоматных диаграмм.

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

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

3.1 Анализ требований.

3.2 Разработка структурно-функциональной архитектуры системы.

3.3 Проектирование подсистемы импорта и экспорта автоматных моделей

3.4 Проектирование подсистемы анализа диаграмм.

3.5 Проектирование подсистемы графической разработки автоматных моделей

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

3.7 Проектирование подсистемы определения целевой платформы.

3.8 Проектирование подсистемы трассировки автоматных моделей.

3.9 Проектирование подсистемы имитационного тестирования автоматных моделей

3.10 Проектирование подсистемы генерации автоматных программ из автоматных моделей.

3.11 Проектирование подсистемы определения встроенных функций.

3.12 Реализация системы проектирования аппаратно-зависимых программных реализаций автоматных диаграмм.

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

4 Экспериментальное исследование системы автоматизированного проектирования аппаратно-зависимых программных реализаций автоматных диаграмм.

4.1 Планирование проектных экспериментов.

4.2 Реализация управления сверлильной машиной.

4.3 Реализация управления гидростанцией плавильной печи.

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

4.5 Реализация управления микропроцессорным реле времени.

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

Введение 2012 год, диссертация по информатике, вычислительной технике и управлению, Антипова, Екатерина Владимировна

Актуальность. При создании программного обеспечения встроенных систем широко применяются диаграммы состояний как определение алгоритма функционирования. Программно-аппаратное обеспечение строится с целью реализации этих диаграмм. В последние 15 лет активно развиваются средства проектирования, которые позволяют генерировать программы из диаграмм состояний. Этим занимаются Страбыкин А.Д. [49, 50], Зюбин В.Е. [52-57], Кузнецов Б.Щ58-63], Любченко В.С.[64-66], Чунихин О.Ю. [73-76], Шалыто A.A. и его ученики [77-123], Дж. Э. Хопкрофт, Р. Мотвани, Дж. Д. Ульман [21] и др. Результатом этих исследований являются методы, алгоритмы и средства реализации диаграмм, порождающие логическую часть программы управления.

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

Существует несколько классов средств разработки программного обеспечения встроенных систем. Часть из них подразумевают разработку на специфических визуальных языках (функциональные блоки, релейные схемы, схемы алгоритмов или визуальный ассемблер [225-271]) с генерацией исполняемого кода для конкретного микроконтроллера. Другие для описания алгоритма используют унифицированный язык моделирования UML ([190, 195200, 205, 216-224]). Унификация позволяет ускорить процесс разработки за счет сокращения времени обучения, организовать переход с одной системы на другую и т.д. Большинство из этих сред разработки генерирует программный код на языки высокого уровня или в ассемблер конкретного микроконтроллера. Для трансляции таких программ в машинный код конкретного микроконтроллера требуются промежуточные среды разработки.

Кроме того, из класса систем, поддерживающих разработку в нотации ЦМЬ и генерирующих программный код, можно выделить 2 подкласса: системы, генерирующие только описательную часть программы (по структурным диаграммам ЦМЬ) и системы, генерирующие только поведенческую часть (например, на основе диаграмм состояний или диаграмм деятельности). Очень малое количество средств разработки [212, 219, 223] поддерживают генерацию программного кода на основе комплекса диаграмм, содержащих описание структуры и поведения разрабатываемой системы. Но при работе с такими системами приходится отдельно разрабатывать принципиальную схему проектируемой встроенной системы и самостоятельно следить за порядком подключения различных устройств к микроконтроллеру.

Основным недостатком большинства средств разработки программного обеспечения для микроконтроллеров, предоставляющих графический интерфейс для задания алгоритмов в виде комплекса диаграмм ЦМЬ, является направленность на определенный класс микроконтроллеров. Недостатком других - слишком большая степень унификации, при этом программы получаются обобщенные, неспециализированные под конкретный микроконтроллер, и аппаратно-зависимую часть приходится дописывать вручную или отдельно производить настройку аппаратно-зависимых компонентов. Часто для генерации программного кода используется один предустановленный вариант структурно-функциональной организации порождаемого кода. Механизмы трансформации, как структурные, так и аппаратно-зависимые, отсутствуют. Большинство систем не поддерживает встроенное определение функций, что делает трассировку диаграммы состояний затруднительной. Поэтому исследования, направленные на автоматизацию проектирования аппаратно-зависимых программных реализаций автоматных диаграмм, учитывающих структурные, поведенческие и аппаратные особенности проектируемой системы, являются актуальными.

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

Объект исследования - автоматизация проектирования автоматных диаграмм.

Предмет исследования диссертации - автоматизация проектирования аппаратно-зависимых программных реализаций.

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

Основные задачи исследования:

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

2. Разработать и реализовать механизмы структурных и аппаратно-зависимых трансформаций автоматных диаграмм.

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

4. Разработать программную систему поддержки автоматизированного проектирования аппаратно-зависимых программных реализаций автоматных диаграмм.

Методы исследования. При решении поставленных задач использованы методы теории автоматов, теории графов, объектно-ориентированного программирования, модельно-ориентированного проектирования, теории компиляторов и языков программирования[36, 38].

Научная новизна. На защиту выносятся следующие научные результаты:

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

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

3. Разработана модель процесса автоматизированного проектирования аппаратно-зависимых программных реализаций автоматных диаграмм, отличающаяся от известных моделей и методов поддержкой двух видов трансформаций: трансформаций самих исходных диаграмм на основе использования расширенной нотации языка ЦМЬ с учетом проектных решений аппаратной части, трансформаций структурно-функциональной организации порождаемого исходного кода программ, а также рядом особенностей: а) процесс проектирования заключается в совместной разработке диаграмм классов для описания структуры проектируемой программной реализации автомата, диаграммы подключений для описания аппаратно-зависимых аспектов и диаграмм состояний для описания динамических аспектов проектируемой программно-аппаратной системы; б) процесс проектирования тесно связан с целевой платформой, присутствует автоматизированное управление ресурсами целевой платформы, а также предоставляется возможность выбора другой целевой платформы на ранней стадии проектирования; в) настройка аппаратно-зависимых компонентов происходит на стадии проектирования в процессе разработки диаграммы подключений, аппаратно-зависимые компоненты программы управления генерируются автоматически; г) в процессе проектирования активно используются программные модули, поведение которых описывается диаграммами состояний, которые обозначаются на диаграмме классов специальным стереотипом поведения; д) поддерживается определение программного кода встроенных подпрограмм, что позволяет проводить трассировку и отслеживать значения переменных и входов и выходов управляющего устройства; е) предоставляется выбор механизмов структурной и аппаратно-зависимой трансформации диаграмм состояний; ж) предоставляются встроенные средства определения целевого языка программирования, что дает возможность переопределить целевой язык генерации для работы в среде разработки конкретного кросс-средства; з) предоставляется выбор вариантов структурно-функциональной организации порождаемого кода на целевом языке программирования; и) предоставляется встроенная среда имитационной отладки; к) поддерживается трассировка на различных этапах проектирования с использованием имитаторов объектов ввода вывода и реальных устройств.

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

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

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

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

САПР в учебном процессе позволяет сократить время изучения основ теории автоматов и автоматного программирования в 2-3 раза.

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

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

Внедрение результатов работы. Результаты, полученные в диссертации, используются на практике в компании Тауруна (г. Ульяновск) при разработке программного обеспечения для микроконтроллеров и в учебном процессе УлГТУ.

Апробация диссертации. Основные положения диссертационного исследования докладывались на конференциях и семинарах: Interactive Systems and Technologies (Ульяновск, 2009, 2011), Всероссийская конференция с элементами научной школы для молодежи «Проведение научных исследований в области обработки, хранения, передачи и защиты информации» (Ульяновск, 2009), Российская школа-семинар аспирантов, студентов и молодых ученых «Информатика, моделирование, автоматизация проектирования» (Ульяновск, 2009, 2010), Региональная конференция аспирантов и студентов «Информатика и вычислительная техника» (Ульяновск, 2009), 3-я Российская научно-техническая конференция аспирантов, студентов и молодых ученых «Информатика и вычислительная техника - 2011» (Ульяновск, 2011).

Публикации. По теме диссертации опубликовано 10 печатных работ, в том числе 2 статьи в изданиях из перечня ВАК.

Структура диссертации. Диссертационная работа изложена на 171 странице и состоит из введения, четырех глав, заключения и пяти приложений. Список литературы содержит 273 наименования. Работа иллюстрирована 63 рисунками и содержит 28 таблиц.

Заключение диссертация на тему "Автоматизация проектирования аппаратно-зависимых программных реализаций автоматных диаграмм"

Выводы по главе 4

1. Разработанная подсистема САПР ЕВА позволяет разрабатывать комплекс диаграмм автоматной модели с учетом статических, динамических и аппаратно-зависимых аспектов процесса управления.

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

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

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

5. Результаты тестирования различных реализаций показали, что столь редко применяемый способ организации автоматных программ, как отображение множества актуальных состояний во множество меток перехода, показывает значительный прирост скорости работы программы относительно других (до 40% относительно технологии switch). Генерация в общий список переходов помогает получить более компактный и читаемый код (до 12% относительно технологии switch).

6. Применение трансформаций диаграмм состояний в некоторых случаях также дает заметный прирост скорости работы программы (до 60% при применении трансформации «Выделение возвратной части автомата в автоматный метод» и отображении в сегментированное множество переходов относительно реализации этим же способом из диаграммы состояний без трансформаций).

Заключение

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

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

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

4. Разработаны и реализованы механизмы структурных и аппаратно-зависимых преобразований автоматных моделей, которые позволяют находить наиболее эффективные решения задач проектирования.

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

6. Разработаны и реализованы алгоритмы генерации программного кода из автоматных моделей, что позволяет получать максимально эффективные реализации автоматных диаграмм, сокращая время разработки микроконтроллерных систем управления на 30-35%.

Публикации

1. Antipova, E.V. Comparative research of state diagram translation methods / E.V. Antipova, V.N. Negoda. // Interactive Systems and Technologies: the Problems of Human-Computer Interaction. Volume III. — Collection of scientific papers.Ulyanovsk: U1STU, 2009. — 468 p. pp. 177.

2. Антипова, E.B. Использование перегрузки операторов для автоматного программирования / Е.В. Антипова, В.Н. Негода // Информатика, моделирование, автоматизация проектирования: сборник научных трудов / под ред. В.Н. Негоды. — Ульяновск : УлГТУ, 2009. — 284 с. С. 46.

3. Антипова, Е.В. Проект генератора исходного кода реализаций диаграмм состояний / Е.В. Антипова // Информатика и вычислительная техника : сборнк научных трудов / под науч. ред. П.И. Соснина. — Ульяновск : УлГТУ, 2009.—275 с. С. 10.

4. Антипова, Е.В. Разработка структуры модели генерации исходного кода на основе автоматных диаграмм / Е.В. Антипова // Всероссийская конференция с элементами научной школы для молодежи «Проведение научных исследований в области обработки, хранения, передачи и защиты информации», 1-5 декабря 2009 г. Россия, Ульяновск : сборник научных трудов. В 4 т. Т. 3. — Ульяновск, 2009. — 419 с. С. 198.

5. Антипова, Е.В. Среда быстрого проектирования систем логического управления (на основе диаграммных моделей) /Е.В. Антипова // Информатика, моделирование, автоматизация проектирования: сборник научных трудов / под ред. В.Н. Негоды. — Ульяновск : УлГТУ, 2010. — 640 с. С. 3.

6. Антипова, Е.В. Формальная модель сквозных переходов UML /Е.В. Антипова // Информатика и вычислительная техника : сборник научных трудов / под ред. H.H. Войта. — Ульяновск : УлГТУ, 2011. — 656 с. С. 37.

7. Антипова, Е. В. Разработка протокола взаимодействия автоматной модели и целевой платформы в процессе имитационного тестирования автоматных диаграмм/ Е.В. Антипова, В.Н. Негода // Информатика, моделирование, автоматизация проектирования: сборник научных трудов / под ред. Н.Н. Войта. — Ульяновск: УлГТУ, 2011. — 416 с. С. 39.

8. Antipova, E.V. Using automatic methods for automata models development / E.V. Antipova, V.N. Negoda // Interactive Systems and Technologies: the Problems of Human-Computer Interaction. - Collection of scientific papers. — Ulyanovsk:UlSTU, 2011. — 435 p. pp. 104.

9. Антипова, Е.В. Автоматизация проектирования программно-аппаратных реализаций автоматных диаграмм систем управления / Е.В. Антипова, В.Н. Негода // Автоматизация процессов управления. — 2012. — №1(27). —С. 47.

10. Антипова, Е.В. Влияние способа преобразования автоматных диаграмм на параметры сгенерированного программного кода / Е.В. Антипова // Вестник Волжского университета им. В.Н. Татищева. Серия «Информатика». — 2012.—Вып. №2(19). —С. 111.

Библиография Антипова, Екатерина Владимировна, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. Harel, D. Statecharts: a Visual Formalism for complex systems 11 Science of Computer Programming. — Vol. 8, 1987. —pp. 231-274.

2. Moore, E. F. Gedanken-experiments on Sequential Machines. / E. F. Moore // Automata Studies, Annals of Mathematical Studies. —№ 34, 1956. — pp. 129— 153.

3. Taub, A. H. (ed). John von Neumann: Collected Works, 1903-1957, 6 Vols. — Pergamon Press, Oxford (UK), 1961 -63.

4. Брауэр, В. Введение в теорию конечных автоматов: Пер. с нем. / В. Брауэр. — М.: Радио и связь, 1987. — 392 с. : ил.

5. Гилл, А. Введение в теорию конечных автоматов / А. Гилл. — М. Наука, 1966. — 272 с. : ил.

6. Глушков, В.М. Синтез цифровых автоматов / В.М. Глушков. — М.: Физматгиз, 1962. — 476 с. : ил.

7. Дейкстра, Э. Взаимодействие последовательных процессов : Пер. с англ. В.П. Кузнецова / Под ред. В.М. Курочкина. — М.: Мир, 1972.

8. Карпов, Ю.Г. Теория автоматов / Ю.Г. Карпов. — СПб.: Питер, 2003. — 208 с. : ил.

9. Кобринский, Н.Е. Введение в теорию конечных автоматов / Н.Е. Кобринский, Б.А. Трахтенброт. — М.: Физматгиз, 1962. — 404 с. : ил.

10. Лазарев, В.Г. Проектирование дискретных устройств автоматики. Учеб. пособие для вузов связи / В.Г. Лазарев, Н.П. Маркин, Ю.В. Лазарев. — М.: Радио и связь, 1985. — 168 с. : ил.

11. Лазарев, В.Г. Синтез управляющих автоматов. / В.Г. Лазарев, Е.И. Пийль— 3-е издание, перераб. и доп. — М.: Энергоатомиздат, 1989. — 328 с.

12. Миллер, Р. Теория переключательных схем. Т. I. Комбинационные схемы / Р. Миллер. — Пер. с англ. В.В. Воржевой, Е.С. Согомоняна. — М.: Наука, 1970.— 416 с.

13. Миллер, Р. Теория переключательных схем. Т. II. Последовательностные схемы и машины / Р. Миллер. — Пер. с англ. О.П. Кузнецова, Ю.Л. Томфельда. — М.: Наука, 1971. — 304 с.

14. Поспелов, Д.А. Вероятностные автоматы / Д.А. Поспелов. — М.: Энергия, 1970. — 88 с. : ил.

15. Савельев, А .Я. Прикладная теория цифровых автоматов: Учеб. для вузов по спец. ЭВМ / А.Я. Савельев. — М.: Высш. шк., 1987. — 272 с. : ил.

16. Трахтенброт, Б.А. Конечные автоматы. Поведение и синтез / Б.А. Трахтенброт, Я.М. Барздинь. — М.: Наука, 1970. — 400 е.: ил.

17. Холодилов, С. Недетерминированные конечные автоматы / С. Холодилов // RSDN Magazine. — №2, 2007. Электронный ресурс. — Режим доступа: http://www.rsdn.ru/article/alg/nka.xml

18. Шеннон, К.Э. Автоматы. Сборник статей под ред. К.Э Шеннона и Дж. Маккарти / К.Э. Шеннон. — Пер. с англ. A.A. Ляпунова. — М.: Издательство иностранной литературы, 1956. — 404 с.

19. Берж, К. Теория графов и ее применения : Пер с фр. A.A. Зыкова / К. Берж / Под ред. И.А. Вайнштейна. — М.: Издательство иностранной литературы, 1962. — 320 с.

20. Кристофидес, Н. Теория графов. Алгоритмический подход : Пер. с англ. Э.В. Вершкова, И.В. Коновальцева / Н. Кристофидес / Под ред. Т.П. Гаврилова. — М.: Мир, 1978. — 432 с.

21. Мелихов, А.Н. Ориентированные графы и конечные автоматы / А.Н. Мелихов. — М.: Наука, 1971. — 416 е.: ил.

22. Мелихов, А.Н. Применение графов для проектирования дискретных устройств / А.Н. Мелихов, J1.C. Бернштейн, В.М. Курейчик. — М.: Наука, 1974. — 304 с.

23. Оре, О. Графы и их применение : Пер. с англ. Л.И. Головиной / О. Оре / Под ред. И.М. Яглома. — М.: Мир, 1965. — 174 с.

24. Уилсон, Р. Введение в теорию графов : Пер. с англ. И.Г. Никитиной / Р. Уилсон / Под ред. Г.П. Гаврилова. — М.: Мир, 1977. — 208 с.

25. Бильгаева, Н.Ц. Теория алгоритмов, формальных языков, грамматик и автоматов: Учебное пособие / Н.Ц. Бильгаева. — Улан-Удэ: Изд-во ВСГТУ, 2000.— 51 с.

26. Гамма, Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влассидес. — СПб.: Питер, 2001.

27. Гудман, С. Введение в разработку и анализ алгоритмов / С. Гудман, С. Хидетниеми.—М.: Мир, 1981. — 368 с.

28. Кознов, Д. В. Визуальное моделирование компонентного программного обеспечения : Дис. . канд. физ.-мат. Наук : 05.13.11 / Кознов Дмитрий Владимирович. — СПб., 2000.

29. Кубасов, С. В. Верификация автоматных программ в контексте синхронного программирования (в редакции кафедры технологийпрограммирования СПбГУ ИТМО): Дис. . канд. тех. наук : 05.13.11 / Кубасов Сергей Валерьевич. —Ярославль, 2008. — 122 с.

30. Логачев, O.A. Локальное обращение конечного автомата с помощью автоматов / O.A. Логачев, Г.В. Проскурин, В.В. Ященко // Дискретная математика. — 1995. — т.7 №2. — С. 19.

31. Марков, Е. Архитектура, управляемая моделью Электронный ресурс. / Е. Марков // Режим доступа: http://citforum.ru/gazeta/13/.

32. Непейвода, H.H. Стили и методы программирования / H.H. Непейвода.

33. М.: ИНТУИТ. РУ. «Интернет-Университет Информационных Технологий», 2005, —320 с.

34. Новиков, М. Паттерн проектирования State. Примеры реализации / М. Новиков // RSDN-Magazine. — 2005. — №4.

35. Новиков, Ф.А. Визуальное конструирование программ / Ф.А. Новиков // Информационно-управляющие системы. — 2005. — №6. — С. 9.

36. Норенков, И. П. Подходы к проектированию автоматизированных систем / И.П. Норенков // Информационные технологии. — 1998.— №2. — С. 2.

37. Норенков, И.П. Автоматизированное проектирование / И.П. Норенков.

38. М.: Изд-во МГТУ им. Н.Э. Баумана, 2002.

39. Русак, А. В. Разработка алгоритмов управления и ориёнтации мобильных роботов : Автореферат . канд. тех. наук : 05.13.01 / Русак Алена Викторовна. — СПб., 2007. — 16 с.

40. Салмре, И. Программирование мобильных устройств на платформе .Net Compact Framework / И. Салмре. — M.: Вильяме, 2006.

41. Фаулер, М. Рефакторинг. Улучшение существующего кода / М. Фаулер. — СПб.: Символ, 2003.

42. Анисимов, А.Е. Автоматное программирование. Часть 1 / А.Е. Анисимов // Потенциал. — 2008,— №3. — С. 27.

43. Анисимов, А.Е. Автоматное программирование. Часть 2 / А.Е. Анисимов // Потенциал. — 2008.— №4. — С. 42.

44. Богаченко, Н.Ф. Применение теоретико-автоматных моделей в криптографии / Н.Ф. Богаченко // Математические структуры и моделирование.2007. — вып. 17. — С. 112.

45. Вавилов, К.В. Программирование за. 1 (одну) минуту / К.В. Вавилов // Компьютер Price. — 2002. — № 31. — С. 288.

46. Волкова, Е. Д. Анализ и трансформации исполняемых UML моделей / Е.Д. Волкова, А.Д. Страбыкин // Труды Института системного программирования. — М.: ИСП РАН, 2006. — С. 171.

47. Волкова, Е. Д. Методы композиции и декомпозиции исполняемых UML моделей / Е.Д. Волкова, А.Д. Страбыкин // Труды Института системного программирования. — М.: ИСП РАН, 2006. — С. 7.

48. Горшкова, Е.А. Использование диаграмм состояний и переходов для моделирования гипертекста / Е.А. Горшкова, Б.А Новиков // Программирование. — 2004. — №1, — С. 64.

49. Зюбин, В.Е. Программирование информационно-управляющих систем на основе конечных автоматов: Учеб.-метод, пособие / В.Е. Зюбин.— Новосибирск, 2006. — 96 с.

50. Зюбин, В.Е. Программирование ПЖ: стандарт МЭК 61131-3 и возможные альтернативы / В.Е. Зюбин // "Промышленные АСУ и контроллеры". — 2005. — №11. с. 31.

51. Зюбин, В.Е. Проектирование алгоритмов работы микроконтроллеров /

52. B.Е. Зюбин // Приборы и системы управления. — 1998. — №1. — С. 18.

53. Зюбин, В.Е. Средство программирования алгоритмов работы микроконтроллеров СПАРМ / В.Е. Зюбин // Распределенная обработка информации: Тр. / Пятый международный семинар. — Новосибирск, 1995. —1. C. 86.

54. Зюбин, В.Е. Язык «Рефлекс» диалект Си для программируемых логических контроллеров / В.Е. Зюбин // Труды шестой международной научно-практической конференции "Средства и системы автоматизации " CSAF'06. — Томск: ТУСУР, 2005.

55. Кузнецов, Б.П. Последовательно-событийные автоматы / Б.П. Кузнецов // Приборы и системы. Управление, контроль, диагностика. — 2001.5. — С.15.

56. Кузнецов, Б.П. Психология автоматного программирования / Б.П. Кузнецов // BYTE / Россия. — 2000. — №11. — С. 22.

57. Кузнецов, Б.П. Распределенные конечные автоматы / Б.П. Кузнецов // Приборы и системы. Управление, Контроль, Диагностика. — 2000. — № 2. — С. 9.

58. Кузнецов, Б.П. Система программирования контроллеров / Б.П. Кузнецов // Программист. — 2002. — № 3.— С. 17.

59. Кузнецов, Б.П. Стандартная реализация управляющих программ / Б.П. Кузнецов // Судостроительная промышленность. Сер. Системы автоматизации проектирования, производства и управления. — 1986. — вып. 1. — С.51.

60. Кузнецов, Б.П. Структура и сложность модулей циклических программ / Б.П. Кузнецов // Автоматика и телемеханика. — 1999. — № 2. — С. 151.

61. Любченко, B.C. Новые песни о главном (римейк для программистов) / B.C. Любченко // Мир ПК. —1998. — № 6. — С. 114.

62. Любченко, B.C. Новые песни о главном II / B.C. Любченко // Мир ПК.1998,— №07. — С. 112.

63. Любченко, B.C. Фантазия или программирование? / B.C. Любченко // Мир ПК. — 1997,— № 10. —С. 116.

64. Николаенко, A. Static Finite State Machine. Кодогенерация времени компиляции / А. Николаенко // RSDN Magazine. — 2005. — №3.

65. Рахимбердиев, А. Реализация систем, управляемых событиями. Использование конечных автоматов / А. Рахимбердиев, А. Ксенофонтов, Е. Адаменков, Д. Антонов, Р. Степанов // RSDN Magazine.— 2005. — №5.

66. Сацкий, С. Дизайн шаблона конечного автомата на С++ / С. Сацкий // RSDN Magazine. — 2003. — №1.

67. Черномырдин, А. Автоматное программирование для микроконтроллеров. Часть I / А. Черномырдин // Радиолюбитель.— 2005. — № 8, —С. 45.

68. Черномырдин, А. Автоматное программирование для микроконтроллеров. Часть II / А. Черномырдин // Радиолюбитель. — 2005. — № 9. — С. 44.

69. Черномырдин, А. Автоматное программирование для микроконтроллеров. Часть III / А. Черномырдин //Радиолюбитель. — 2005. — № 10, —С. 43.

70. Чунихин, О.Ю. «Zebra» — система автоматизации основанных на RUP процессов создания больших систем / О.Ю. Чунихин // Математические модели в информатике. — 2002. — Новосибирск, Вып. 169: Вычислительные системы.1. С. 84.

71. Чунихин, О.Ю. Автоматизация процессов разработки на основе Rational Unified Process / О.Ю. Чунихин // Математические модели в информатике. — 2002.— Новосибирск, Вып. 169: Вычислительные системы. — С. 54.

72. Чунихин, О.Ю. Формальная модель машин состояний UML / О.Ю. Чунихин // Сиб. журн. индустр. математики. — 2003. — №1(17). — С. 152.

73. Чунихин, О.Ю. Транслятор UML-спецификаций в исполняемый код / О.Ю. Чунихин // Сиб. журн. индустр. математики. — 2004. — №2(18). Том VII.1. С. 133.

74. Беляев, A.B. Компьютерная игра «Космонавт». Проектирование и реализация / А. В. Беляев, Д. И. Суясов, А. А. Шалыто // Компьютерные инструменты в образовании. — 2004. — № 4. — С. 75.

75. Гуров, B.C. Автоматическое завершение ввода условий в диаграммах состояний / В. С. Гуров, М. А. Мазин, А. А. Шалыто // Информационно-управляющие системы. — 2008. — №1. — С. 24.

76. Гуров, B.C. UML. SWITCH-технология. Eclipse / В. С. Гуров, М.А. Мазин, A.C. Нарвский, A.A. Шалыто // Информационно-управляющие системы.2004,— №6.— С. 12.

77. Гуров, B.C. ICQ и автоматы / B.C. Гуров, А. Нарвский, A.A. Шалыто // Технология клиент-сервер. — 2004. — № 3. — С. 3.

78. Гуров, В. Исполняемый UML из России / В. Гуров, А. Нарвский, А. Шалыто // PC Week/RE. — 2005. — № 26. — С. 18.

79. Гуров B.C. Технология проектирования и разработки объектно-ориентированных программ с явным выделением состояний (метод, инструментальное средство, верификация) : Дис. . канд. тех. наук : 05.13.11 / Гуров Вадим Сергеевич. — СПб., 2008. — 149 с.

80. Гуров, B.C. UML. SWITCH-технология. Eclipse / B.C. Гуров, М.А. Мазин, A.C. Нарвский, А. А. Шалыто // Информационно-управляющие системы. — 2004,— № 6. — С. 12.

81. Гуров, B.C. UniMod программный пакет для разработки объектно-ориентированных приложений на основе автоматного подхода / B.C. Гуров, М.А.Мазин, A.A. Шалыто // Труды XI Всероссийской научно-методической конференции "Телематика-2004". — 2004. — Т.1.

82. Казаков, М.А. Методы построения визуализаторов дискретной математики на основе автоматного подхода : Дис. . канд. тех. наук : 05.13.06 / Казаков Матвей Алексеевич. — СПб., 2010. — 178 с.

83. Казаков, М.А. Использование автоматного программирования для реализации визуализаторов / М.А. Казаков, А. А. Шалыто // Компьютерные инструменты в образовании. — 2004. — № 2. — С. 19.

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

85. Канжелев, С.Ю. Автоматическая генерация автоматного кода / С.Ю. Канжелев, А. А. Шалыто // Информационно-управляющие системы. — 2006. — №6, — С. 35.

86. Князев, Е.Г. Автоматизированная классификация изменений исходного кода на основе кластеризации метрик в процессе разработки программного обеспечения : Дис. Канд. тех. наук : 05.13.11 / Князев Евгений Геннадьевич. — СПб., 2009. — 126 с.

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

88. Корнеев, Г.А. Автоматизация построения визуализаторов алгоритмов дискретной математики на основе автоматного подхода : Дис. . канд. тех. наук : 05.13.12 / Корнеев Георгий Александрович. — СПб., 2006. — 181 с.

89. Лобанов, П. Г. Использование генетических алгоритмов для генерации конечных автоматов : Дис. . канд. тех. наук : 05.13.11 / Лобанов Павел Геннадьевич. — СПб., 2008. — 114 с.

90. Лобанов, П. Подсчет длин слов в строке на основе автоматного подхода / П. Лобанов, А. Шалыто // Мир ПК. — 2005. — №7. — С. 66.

91. Маврин, П.Ю. Формальная семантика диаграмм состояний, удобная для практического применения / П.Ю. Маврин, Г.А. Корнеев, A.A. Шалыто // Software Engineering Conference (Russia) SEC(R). — 2006. — С. 43.

92. Мазин, М.А. Автоматное программирование для среды языково-ориентированного программирования : Дис. . канд. тех. наук : 05.13.11 / Мазин Максим Александрович — СПб., 2010. — 136 с.

93. Мазин, М.А. Анимация. Flash-технология. Автоматы / М.А. Мазин, A.A. Шалыто // Информатика. — 2006. — №11(516). — С. 36.

94. Наумов, Л. А. Искусство программирования лифта. Объектно-ориентированное программирование с явным выделением состояний / Л. А. Наумов, А. А. Шалыто // Информационно-управляющие системы. — 2003. — №6. —С. 38.

95. Степанов, О.Г. Методы реализации автоматных объектно-ориентированных программ : Дис. . канд. тех. наук : 05.13.11 / Степанов Олег Георгиевич. — СПб., 2009. — 153 с.

96. Туккель, Н.И. Программирование с явным выделением состояний / Н.И. Туккель, A.A. Шалыто // Мир ПК. — 2001. — №9. — С. 132.

97. Шалыто, A.A. Автоматное проектирование программ. Алгоритмизация и программирования задач логического управления / А. Шалыто // Известия академии наук. Теория и системы управления. — 2000. — № 6. — С.63.

98. Шалыто, A.A. Алгоритмизация и программирование задач логического управления / A.A. Шалыто. — СПБ: СПбГУ ИТМОД998.

99. Шалыто, А. SWITCH-технология — автоматный подход к созданию программного обеспечения "реактивных" систем / А. Шалыто, Н. Туккель // Программирование. — 2001. — № 5. — С. 45.

100. Шалыто, А. Программирования с явным выделением состояний / А. Шалыто, Н. Туккель//Мир ПК, —2001,—№8, №9. —С. 116, с. 132.

101. Шалыто, A.A. Switch-технология. Алгоритмизация и программирование задач логического управления / А. Шалыто. — СПб.: Наука, 1998. —628 с.

102. Шалыто, A.A. Алгоритмизация и программирование для систем логического управления и "реактивных" систем / А.А, Шалыто // Автоматика и телемеханика. — 2001. — №1. — С.З.

103. Шалыто, A.A. Программная реализация управляющих автоматов / A.A. Шалыто //Судостроительная промышленность. Серия «Автоматика и телемеханика». — 1991. — Вып. 13. — С.41

104. Шалыто, A.A. Технология автоматного программирования / A.A. Шалыто // Мир ПК. — 2003. — №10. — С. 74.

105. Шалыто, A.A. SWITCH-технология — автоматный подход к созданию программного обеспечения «реактивных» систем / A.A. Шалыто, Н.И. Туккель // Программирование. — 2001. — №5. — С.45.

106. Шалыто, A.A. Автоматы и танки / A.A. Шалыто, Н.И. Туккель // BYTE/Россия. — 2003. — №2. — С. 69.

107. Шалыто, A.A. От тьюрингова программирования к автоматному / A.A. Шалыто, Н.И. Туккель // Мир ПК. — 2002. — №2. — С. 144.

108. Шалыто, A.A. Преобразование итеративных алгоритмов в автоматные / A.A. Шалыто, Н.И. Туккель // Программирование. — 2002. — № 5, —С. 12.

109. Шалыто, A.A. Реализация автоматов при программировании событийных систем / A.A. Шалыто, Н.И. Туккель // Программист. — 2002. — №4. — С.74.

110. Шалыто, A.A. Задача о ходе коня / A.A. Шалыто, Н.И. Туккель, Н. Шамгунов // Мир ПК. — 2003. — №1с. 152.

111. Шалыто, A.A. Ханойские башни и автоматы / A.A. Шалыто, Н.И. Туккель, Н. Шамгунов // Программист. — 2002. — №8. — С.82.

112. Шалыто, A.A. Реализация рекурсивных алгоритмов на основе автоматного подхода / A.A. Шалыто, Н.И. Туккель, H.H. Шамгунов // Телекоммуникации и информатизация образования. — 2002. — № 5.

113. Шамгунов, Н. Н. Разработка методов проектирования и реализации поведения программных системы на основе автоматного подхода: Дис. . канд. тех. наук: 05.13.13 / Шамгунов Никита Назимович. — СПб., 2004. — 195 с.

114. Шамгунов, Н. Н. State Machine — новый паттерн объектно-ориентированного проектирования / Н. Н. Шамгунов, Г. А. Корнеев, А. А. Шалыто // «Информационно-управляющие системы». — 2004. — № 5. — С. 13.

115. Шамгунов, Н. Н. State Machine — расширение языка Java для эффективной реализации автоматов / Н. Н. Шамгунов, Г. А. Корнеев, А. А. Шалыто // Информационно-управляющие системы». — 2005. — № 1. — С. 16.

116. Шопырин, Д.Г. Методы объектно-ориентированного проектирования и реализации программного обеспечения реактивных систем: Дис. . канд. тех. наук: 05.13.13 / Шопырин Данил Геннадьевич.— СПб., 2005,— 174 с.

117. Шопырин, Д. Объектно-ориентированный подход к автоматному программированию / Д. Шопырин, А. Шалыто // Информационно-управляющие системы. — 2003. — №5. — С. 29.

118. Шопырин, Д.Г. Синхронное программирование/ Д.Г. Шопырин, A.A. Шалыто // Информационно-управляющие системы. — 2004. — №3. — С. 35.

119. Rafiquzraman, М. Fundamentals of digital logic and microcomputer design / M. Rafiquzzamm-5th ed.— New Jersey: John Wiley & Sons, Inc., Hoboken. — 820 p.

120. Антонов, А.П. Язык описания цифровых устройств AlteraHDL. Практический курс / А.П. Антонов. — М.: ИП РадиоСофт, 2001. — 224 е.: ил.

121. Баранов, В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы / В.Н. Баранов. — М.: Издательский дом «Додэка-ХХ1», 2004. — 288 е.: ил.

122. Белов, A.B. Конструирование устройств на микроконтроллерах / A.B. Белов. — СПб. : Наука и техника, 2005. — 256 е.: ил.

123. Белов, A.B. Микроконтроллеры AVR в радиолюбительской практике / A.B. Белов. — СПб.: Наука и Техника, 2007. — 352с. : ил.

124. Белов, A.B. Самоучитель по микропроцессорной технике / A.B. Белов. — СПб.: Наука и Техника, 2003. — 224 е.: ил.

125. Белов, A.B. Создаем устройства на микроконтроллерах / A.B. Белов. — СПб.: Наука и Техника, 2007. — 304 е.: ил.

126. Бибило, П.Н. Основы языка VHDL / П.Н. Бибило. — М.: СОЛОН-Р, 2002. — 224 с. : ил.

127. Брага, Н. Создание роботов в домашних условиях / Брага Ньютон; пер. с англ. Е.А. Добролежина. — М.: НТ Пресс, 2007, — 368 е.: ил.

128. Бродин, В.Б. Системы на микроконтроллерах и БИС программируемой логики / В.Б. Бродин, A.B. Калинин. — М.: Издательство ЭКОМ, 2002. — 400 е.: ил.

129. Вальпа, О.Д. Полезные схемы с применением микроконтроллеров и ПЛИС (+CD) / О.Д. Вальпа. — М.: Издательский дом «Додэка-ХХ1», 2006. — 416 с.: ил.

130. Вильяме, Д. Программируемый робот, управляемый с КПК / Д. Вильяме; пер. с англ. А.Ю. Карцева. — М.: НТ Пресс, 2006. — 224 с. : ил.

131. Гёлль, П. Как превратить персональный компьютер в универсальный программатор: Пер. с франц. / П. Гёлль. — М.: ДМК, 2000. — 168 е.: ил.

132. Гёлль, П. Электронные устройства с программируемыми компонентами: Пер. с фр. / П. Гёлль. — М.: ДМК Пресс, 2001. — 176 с. : ил.

133. Гололобов, В.Н. «Умный дом» своими руками / В.Н. Гололобов. — М.: НТ Пресс, 2007. — 416 е.: ил.

134. Голубцов, М.С. Микроконтроллеры AVR: от простого к сложному / М.С. Голубцов. — М.: СОЛОН-Пресс, 2004. — 288с.

135. Гребнев, В.В. Микроконтроллеры семейства AVR фирмы Atmel / B.B. Гребнев. — М.: ИП РадиоСофт, 2002. — 176 е.: ил.

136. Григорьев, В. Л. Программирование однокристальных микропроцессоров / В.Л. Григорьев. — М.: Энергоатомиздат, 1987. — 288 с.

137. Дьяков, И.А. Моделирование цифровых и микропроцессорных системы. Язык VHDL: Учеб. Пособие / И.А. Дьяков. — Тамбов: Изд-во Тамб. гос. техн. ун-та, 2001. — 68 с.

138. Евстифеев, A.B. Микроконтроллеры AVR семейств Tiny и Mega фирмы «ATMEL» / A.B. Евстифеев. — М.: Издательский дом «Додэка-ХХ1», 2004.— 560 с.

139. Евстифеев, A.B. Микроконтроллеры AVR семейства Classic фирмы ATMEL / A.B. Евстифеев. — 3-е изд., стер. — М.: Издательский дом «Додэка-XXI», 2006.—288 с. : ил.

140. Евстифеев, A.B. Микроконтроллеры AVR семейства Mega. Руководство пользователя / A.B. Евстифеев. — М.: Издательский дом «Додэка-XXI», 2007. — 592 с. : ил.

141. Заец, Н.И. Радиолюбительские конструкции на PIC-микроконтроллерах. Книга 3 / Н.И. Заец. — М.: СОЛОН-Пресс, 2006. — 240 с.

142. Заец, Н.И. Радиолюбительские конструкции на PIC-микроконтроллерах. С алгоритмами работы программ и подробными комментариями к исходным текстам. Книга 2 / Н.И. Заец. — М.: СОЛОН-Пресс, 2005. — 192 е.: ил.

143. Заец, Н.И. Радиолюбительские конструкции на PIC-микроконтроллерах. С алгоритмами работы программ и подробными комментариями к исходным текстам / Н.И. Заец.— М.: СОЛОН-Пресс, 2003. — 368 е.: ил.

144. Заец, Н.И. Электронные самоделки. Для быта, отдыха и здоровья / Н.И. Заец. — М.: СОЛОН-Пресс, 2005. — 304 е.: ил.

145. Зотов, В.Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы XILINX / В.Ю. Зотов. — М.: Горячая линия-Телеком, 2006. — 520 с. : ил.

146. Иванов, Ю.И. Микропроцессорные устройства систем управления: Учебное пособие / Ю.И. Иванов, В .Я. Югай. — Таганрог: Изд-во ТРТУ, 2005.133 с.

147. Каган, Б.М. Основы проектирования микропроцессорных устройств автоматики / Б.М. Каган, В.В. Сташин. — М.: Энергоатомиздат, 1987. — 304 с.

148. Калабеков, Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учеб. пособие для вузов / Б.А. Калабеков. — М.: Радио и связь, 1988. — 368 е.: ил.

149. Каспер, Э. Программирования на языке Ассемблера для микроконтроллеров семейтсва i8051 / Э. Каспер. — М.: Горячая линия-Телеком, 2003. — 191 с. : ил.

150. Кёниг, А. Полное руководство по PIC-микроконтроллерам PIC18, PIC 1 OF, rfPIC. / Пер. с нем. В.И. Кириченко, Ю.А. Шпак / А. и М. Кёниг. — К.: МК-Пресс, 2007. — 255 с.

151. Козаченко. В.Ф. Практическое руководство по применению 16-разрядных микроконтроллеров Intel MCS-196/296 во встроенных системах управления / В.Ф. Козаченко. — М.: ЭКОМ, 1997. — 500 с. : ил.

152. Корнеев, В.В. Современные микропроцессоры / В.В. Корнеев, A.B. Киселев. — 3-е изд., перераб и доп. — СПб.: БВХ-Петербург, 2003. — 448 с.

153. Коффрон, Дж. Технические средства микропроцессорных систем: Практический курс. Пер. с англ. / Дж. Коффрон. — М.: Мир, 1983. — 344 с.

154. Максфилд, К. Проектирование на ПЛИС. Курс молодого бойца / К. Максфилд. — М.: Издательский дом «Додэка-ХХ1», 2007. — 408 е.: ил.

155. Мартин, Т. Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс / Пер. с англ. / Т. Мартин — М.: Издательский дом «Додэка-ХХ1», 2006. — 240 е.: ил.

156. Микушин, A.B. Занимательно о микроконтроллерах / A.B. Микушин. — СПб.: БХВ-Петербург, 2006. — 432 е.: ил.

157. Мортон, Дж. Микроконтроллеры AVR. Вводный курс. / Пер. с англ. / Дж. Мортон. — М.: Издательский дом «Додэка-ХХ1», 2006. — 272 е.: ил.

158. Николайчук, О. х51-совместимые микроконтроллеры фирмы Cygnal / О. Николайчук. — М.: ООО «ИД СКИМЕН», 2002. — 472 е., ил.

159. Николайчук, О. И.Системы малой автоматизации / О. И. Николайчук

160. М.: СОЛОН-Пресс, 2003. — 256 с.

161. Петров, И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования / Под ред. проф, В. П. Дьяконова / И. В. Петров. — М.: СОЛОН-Пресс, 2004. — 256 с : ил.

162. Петров, И.В. Отладка прикладных ПЛК программ в CoDeSys (часть 3) / И.В. Петров, Р. Вагнер. // Промышленные АСУ и контроллеры. — 2006. — №4.

163. Поляков, А.К. Языки VHDL и Verilog в проектировании цифровой аппаратуры / А.К. Поляков. — М.: СОЛОН-Пресс, 2003. — 320 с. : ил.

164. Предко, М. 123 эксперимента по робототехнике / М. Предко: пер. с англ. В.П.Попова. — М. : НТ Пресс. — 2007. — 544с. : ил.

165. Предко, М. Руководство по микроконтроллерам. Том I / М. Предко.

166. М.: Постмаркет, 2001. — 416 с.

167. Предко, М. Руководство по микроконтроллерам. Том II / М. Предко.

168. М.: Постмаркет, 2001. — 488 с.

169. Предко, М. Справочник по PIC-микроконтроллерам. Пер. с англ. / М. Предко. — М.: ДМК Пресс, 2002, ООО «Издательский до «Додэка-ХХ1», 2002.512 е.: ил.

170. Редькин, П.П. Прецизионные системы сбора данных семейства MSC12xx фирмы Texas Instruments: архитектура, программирование, разработка приложений. (+CD) / П.П. Редькин. — М.: Издательский дом «Додэка-ХХ1», 2006. — 608 е.: ил.

171. Сазонов, A.A. Микропроцессорное управление технологическим оборудованием микроэлектроники: Учеб. Пособие / A.A. Сазонов, Р.В. Корнилов, Н.П. Кохан и др.; Под ред. A.A. Сазонова. — М.: Радио и связь, 1988. —264 е.: ил.

172. Семенов, Б.Ю. Микроконтроллеры MSP430: первое знакомство / Б.Ю. Семенов. — М.: СОЛОН-Пресс, 2006. — 128 е.: ил.

173. Сергиенко, A.M. VHDL для проектирования вычислительных устройств / A.M. Сергиенко. — К.: ЧП «Корнейчук», ООО «ТИД «ДС», 2003.208 с.

174. Сташин, В.В. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин, A.B. Урусов, О Ф. Мологонцева. — М.: Энергоатомиздат, 1990. — 224 с.

175. Суворова, Е.А. Проектирование цифровых систем на VHDL / Е.А. Суворова, Ю.Е. Шейнин. — СПб.: БХВ-Петербург, 2003. — 576 е.: ил.

176. Тавернье, К. PIC-микроконтроллеры. Практика применения: Пер. с фр. / К. Тавернье. — М.: ДМК Пресс, 2004. — 272 е.: ил.

177. Трамперт, В. AVR-RISC микроконтроллеры. : Пер. с нем. / В. Трамперт. — К.: «МК-Пресс», 2006. — 464 е., ил.

178. Трамперт, В. Измерение, управление и регулирование с помощью AVR-микроконтроллеров.: Пер. с нем. / В. Трамперт. — К.: «МК-Пресс», 2006.208 е., ил.

179. Ульрих, В.А. Микроконтроллеры PIC16X7XX. Изд. 2-е, перераб и доп. / В.А. Ульрих. — СПб.: Наука и Техника, 2002. — 320 с. : ил.

180. Фрунзе, A.B. Микроконтроллеры? Это же просто! Т.1. / A.B. Фрунзе.

181. М.: ООО «ИД СКИМЕН», 2002. — 336 е.: ил.

182. Фрунзе, A.B. Микроконтроллеры? Это же просто! Т.2. / A.B. Фрунзе.

183. М.: ООО «ИД СКИМЕН», 2003. — 224 е.: ил.

184. Холленд, Р. Микропроцессоры и операционные системы: Краткое справочное пособие: Пер. с англ. В.Л. Григорьева. / Р. Холленд. — М.: Энергоатомиздат, 1991. — 192 е.: ил.

185. Шагурин, И.И. Современные микроконтроллеры и микропроцессоры Motorola: Справочник / И.И. Шагурин. — М.: Горячая линия-Телеком, 2004. — 952 с. : ил.

186. Швец, В.А. Одноплатные микроконтроллеры. Проектирование и применение / В.А. Швец, В.В. Шестакова, Н.В. Бурцева, Т.В. Мелешко. — К.: «МК-Пресс», 2005. — 304 е.: ил.

187. Шпак, Ю.А. Программирование на языке для AVR и PIC микроконтроллеров / Сост. Ю.А. Шпак. — К.: МК-Пресс, 2006. — 400 с. : ил.

188. Яценков, B.C. Микроконтроллеры Microchip rfPIC со встроенным маломощным радиопередатчиком / B.C. Яценков. — М.: Горячая линия-Телеком, 2006. — 344 с.

189. Яценков, B.C. Микроконтроллеры Microchip. Практическое руководство / B.C. Яценков. — М.: Горячая линия-Телеком, 2002. — 296 с. : ил.

190. OMG Unified Modeling Language (OMG UML), Superstructure Electronic resource. — Режим доступа: http://www.omg.Org/spec/UML/2.3/Superstructure.

191. Programming with STEP 7 V5.0, Release 02, 1999, Siemens AG. Электронный ресурс. — Режим доступа: http://automation.siemens.com.

192. Working with STEP 7 V5.0, Release 02, 1999, Siemens AG. Электронный ресурс. — Режим доступа: http://automation.siemens.com.

193. Казеннов, Г. Система схемотехнического проектирования AVOCAD. Проектирование аналогово-цифровых схем на кристалле. / Г. Казеннов, С. Кокин, С. Макаров, В. Перминов, Д. Перминов // Электроника: Наука, Технология, Бизнес. — 2004. — №5. — С. 72.

194. Леоненков, А.В. Нотация и семантика языка UML Электронный ресурс. — Режим доступа: http://www.intuit.ru/department/pl/umlbasics/

195. Acceleo. Электронный ресурс. — Режим доступа: http://www.acceleo.org/pages/home/en

196. ARIS. Электронный ресурс. — Режим доступа: http://www.ids-scheer.com/en/ARIS/ARISSoftware/3730.html

197. Astade. Электронный ресурс. — Режим доступа: http://astade.tigris.org/

198. ATLAS Transformation Language. Электронный ресурс. — Режим доступа: http://www.ее 1 ipse.org/m2m/atl/

199. Borland Together. Электронный ресурс. — Режим доступа: http://www.borland.com/together/index.html

200. BOUML. Электронный ресурс. — Режим доступа: http://bouml.free.fr/

201. Embedded Coder Электронный ресурс. — Режим доступа: http://www.mathworks.com/products/embedded-coder/

202. Enterprise Architect. Электронный ресурс. — Режим доступа: http://www.sparxsystems.com.au

203. Gaphor. Электронный ресурс. — Режим доступа: http://gaphor.sourceforge.net/

204. Gentleware Poseidon. Электронный ресурс. — Режим доступа: http:// www. gentle ware .com/products. htm 1.

205. IBM Rational Rose. Электронный ресурс. — Режим доступа: http://ibm.com/software/awdtools/developer/rose/

206. Finite State Machine (FSM). Электронный ресурс. — Режим доступа: http://finsm.sourceforge.net/

207. MagicDraw. Электронный ресурс. — Режим доступа: http://magicdraw.com/

208. MATLAB Coder. Электронный ресурс. — Режим доступа: http://www.mathworks.com/products/matlab-coder/

209. Microsoft Visio. Электронный ресурс. — Режим доступа: http://visiotoolbox.com/

210. ModelMaker Tools. Электронный ресурс. — Режим доступа: http://www.modelmakertools.com/

211. NetBeans. Электронный ресурс. — Режим доступа: http://www.netbeans.org

212. Rhapsody Modeler. Электронный ресурс. — Режим доступа: http://www.ilogix.com/sublevel.aspx?id=l 756

213. Simulink. Электронный ресурс. — Режим доступа: http://www.mathworks.com/products/simulink/

214. SmartDraw. Электронный ресурс. — Режим доступа: http :// www. smartdraw. com/

215. Software Ideas Modeler. Электронный ресурс. — Режим доступа: http ://software ideas. net/

216. StarUML. Электронный ресурс. — Режим доступа: http ://staruml. sourceforge .net/en/

217. Stateflow Электронный ресурс. — Режим доступа: http://www.mathworks.com/products/stateflow/

218. The State Machine Compiler. Электронный ресурс. — Режим доступа: http://smc.sourceforge.net/

219. Telelogic Rhapsody. Электронный ресурс. — Режим доступа: http://www.ilogix.com/

220. UML Studio. Электронный ресурс. — Режим доступа: http://www.pragsoft.com/products.html

221. Visual Paradigm for UML. Электронный ресурс. — Режим доступа: http://visual-paradigm.com/

222. Инструментальное средство MetaAuto. Электронный ресурс. — Режим доступа: http://is.ifmo.ru/projects/metaauto/

223. Инструментальное средство UniMod. Электронный ресурс. — Режим доступа: http://unimod.sourceforge.net

224. Конвертор Visio2Switch. Электронный ресурс. — Режим доступа: http://is.ifmo.ru/progeny/visio2switch/

225. Algorithm Builder. Электронный ресурс. — Режим доступа: http://algrom.net/

226. Vacon NCI 131-3 Engineering. Электронный ресурс. — Режим доступа: http://www.vacom.com

227. RSLOGIX 500 Starter. Электронный ресурс. — Режим доступа: http://www.rockwellautomation.com

228. System Q. Электронный ресурс. — Режим доступа: http://www.mitsubishi-automation.ru/

229. XG5000. Электронный ресурс. — Режим доступа: http://www.lgis.com/

230. Micro TRACE MODE. Электронный ресурс. — Режим доступа: http://www.icpdas.com

231. Menta. Электронный ресурс. — Режим доступа: http://www.schneider-electric.com

232. PG5. Электронный ресурс. — Режим доступа: http://www.saia-pcd.com

233. Proficy Machine Edition (ME). Электронный ресурс. — Режим доступа: http://www.ge-ip.com

234. WinPLC7. Электронный ресурс. — Режим доступа: http://www.vipa.com

235. SMLogix. Электронный ресурс. — Режим доступа: http://segnetics.com

236. КОНТРАСТ. Электронный ресурс. — Режим доступа: http://volmag.ru/

237. LEONA. Электронный ресурс. — Режим доступа: http://volmag.ru/

238. QUICK II. Электронный ресурс. — Режим доступа: http://www.comat.ch

239. Festo Software Tools FST 4.10. Электронный ресурс. — Режим доступа: http://www.festo.com

240. AL-PCS/WIN. Электронный ресурс. — Режим доступа: http://www.mitsubishi-automation.ru/

241. Sysmac Studio. Электронный ресурс. — Режим доступа: http://www.omron-ap.com

242. СХ- One Integrated Tool Package. Электронный ресурс. — Режим доступа: http://www.omron-ap.com

243. Drive PLC Developer Studio. Электронный ресурс. — Режим доступа: http://www.lenze.com

244. MicPlus. Электронный ресурс. — Режим доступа: http://www.insat.ru

245. Интегрированная среда разработки (ИСР) КРУГОЛ. Электронный ресурс. — Режим доступа: http://www.krug2000.ru

246. Isagraf. Электронный ресурс. — Режим доступа: http://www.isagraf.com

247. Codesys. Электронный ресурс. — Режим доступа: http://www.3s-software.com

248. Multiprog. Электронный ресурс. — Режим доступа: http://www.kw-software.com/

249. MasterPLC. Электронный ресурс. — Режим доступа: Designer http://www.masterplc.ru

250. TwidoSoft. Электронный ресурс. — Режим доступа: http://www.schneider-electric.ru

251. PC Worx. Электронный ресурс. — Режим доступа: http://www.phoenixcontact.com

252. PC Worx Express. Электронный ресурс. — Режим доступа: http://www.phoenixcontact.com

253. GM Win 4. Электронный ресурс. — Режим доступа: http :// www. anadigi. со. za

254. Visilogic. Электронный ресурс. — Режим доступа: http://www.unitronics.com

255. SimlnTech. Электронный ресурс. — Режим доступа: http://3v-services.com

256. KLogic. Электронный ресурс. — Режим доступа: http://www.kaskad-asu.com

257. OpenPCS 2010. Электронный ресурс. — Режим доступа: http ://www. infoteam. de

258. SUCOsoft S340. Электронный ресурс. — Режим доступа: http://www.moeller.net

259. NAIS CONTROL. Электронный ресурс. — Режим доступа: http://www.nais-e.com/

260. Symphony. Электронный ресурс. — Режим доступа: http://www.selectron.ch

261. Concept. Электронный ресурс. — Режим доступа: http://www2.schneider-electric.com

262. Excel Computer Aided Regulation Engineering. Электронный ресурс. — Режим доступа: http://www.honeywell-ec.ru

263. ConField. Электронный ресурс. — Режим доступа: http://www.ineum-ems.ru

264. ISPSoft 1.0. Электронный ресурс. — Режим доступа: http://www.delta-electronics.info

265. B&R Automation Studio. Электронный ресурс. — Режим доступа: http://www.br-automation.com

266. Интегрированная среда разработки программ «РелКон». Электронный ресурс. — Режим доступа: http://www.kontel.ru/

267. Easy Tools. Электронный ресурс. — Режим доступа: http://www.carel.com

268. TelePACE. Электронный ресурс. — Режим доступа: http://www.controlmicrosystems.com

269. CONT-Designer. Электронный ресурс. — Режим доступа: http://www.emicon.ru

270. LOGOISoft Comfort. Электронный ресурс. — Режим доступа: http://www.automation.siemens.com

271. Realizer. Электронный ресурс. — Режим доступа: http://www.actum.com

272. Siemens Step7. Электронный ресурс. — Режим доступа: http://www.siemens.com

273. S7-HiGraph для S7-300/400. Электронный ресурс. — Режим доступа: http://www.automation.siemens.com192