Автоматизированная информационная система программирования логики промышленных роботов для ООО "ВМЗ"

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.06.2012
Размер файла 7,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Рисунок 12 - Общая диаграмма состояний системы

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

При формировании параметров программы программист первым делом может определить:

1. Этапы программы.

2. Входные сигналы.

3. Выходные сигналы.

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

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

Остальные состояния системы и переходы к ним отображены на рисунке 13.

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

Рисунок 13 - Диаграмма состояний “Формирование параметров программы”

Моделирование обработки данных при выполнении процесса определения входных сигналов

В обработке данных при выполнении процесса определения входных сигналов задействованы следующие объекты (см. рис. 14):

1. Вкладка интерфейсной формы “Входные сигналы”.

2. Список ListIn класса Logic - список входных сигналов.

3. Список ListUse класса Logic - список назначений.

4. Список ListSigSlave класса Logic - список сигналов для роботов Slave.

При вызове метода отображения вкладки вызываются методы чтения имён входных сигналов (метод GetListNameIn()) и сгенерированных назначений (метод GetListUse()). Пользователю отображается таблица с выпадающими списками для выбора назначения сигнала (Robot - сигнал подключенного к роботу оборудования, SYS - системный сигнал робота, SlaveX - сигнал управления роботом Slave №X) и имени. При выборе назначения сигнала “SYS” в списке отображаются все системные входа робота, они считаются методом GetListSysIn(). При выборе назначения сигнала “SlaveX” в списке отображаются все сигналы уже определённые для других роботов Slave. То есть если программируемый робот управляет несколькими роботами Slave, и для одного робота уже определены какие-то входные сигналы, то для другого робота Slave можно использовать уже определённое имя сигнала. Это предусмотрено в связи с частым повторением имён сигналов для разных роботов Slave при программировании одной задачи. Также имеется возможность определить другое имя сигнала (новое).

При вызове метода деактивации вкладки (переход на другую вкладку) вызывается метод записи всей информации о входных сигналах SetListIn(ListInOut : list<InOut>). Блоки сообщений “ref” отображают пользовательскую последовательность команд. На приведённой диаграмме применяется для отображения ветвления.

Моделирование обработки данных при выполнении процесса определения условий шагов программы

В обработке данных при выполнении процесса определения входных сигналов задействованы следующие объекты (см. рис. 15):

1. Вкладка интерфейсной формы “Условия шагов”.

2. Список ListIn класса Logic - список входных сигналов.

3. Список Steps класса Logic - список этапов программы.

Рисунок 14 - Диаграмма последовательности действий системы при выполнении процесса определения входных сигналов

При вызове метода отображения вкладки вызывается метод чтения условий шагов программы GetCondIn(). Этот метод вызывается для каждого шага программы, поэтому вызов данного метода занесён в блок “loop”. После чтения данных пользователю отображается таблица условий с именами входов. Если при программировании данной задачи пользователь впервые заходит на вкладку, то отобразится пустая таблица и выпадающие списки прописанных на вкладке “Входные сигналы” имена входов.

При переопределении последовательности условий (входных сигналов) вызывается метод, записывающий добавленные в список сигналы SetListAddIn(ListAddIn : list<string>), и метод, читающий не добавленные в список сигналы GetListNotAddIn(). Это предусмотрено, чтобы исключить ручной ввод имён входных сигналов и повторный выбор сигнала из списка.

При изменении параметров условий (ожидаемых значений) пользователю отображается изменённая матрица.

При вызове метода деактивации вкладки (переход на другую вкладку) вызывается метод удаления пустых объектов из списка входных сигналов DellNullObject (ListInOut : list<InOut>) и метод сортировки SortListInOut (ListNameInOut : list<string>, ListInOut : list<InOut>). Далее для каждого шага записывается массив условий (метод SetCondIn(CondIn : list<string>)). SortListInOut(ListNameInOut : list<string>, ListInOut : List<InOut>) - метод сортировки. Список ListIn сортируется в последовательности, которую пользователь задал при определении условий. Это применяется для возможности склейки списка входных сигналов с матрицей условий.

Рисунок 15 - Диаграмма последовательности действий системы при выполнении процесса определения условий шагов программы

Моделирование обработки данных при выполнении процесса написания сообщений

В обработке данных при выполнении процесса определения входных сигналов задействованы следующие объекты (см. рис. 16):

1. Вкладка интерфейсной формы “Сообщения”.

2. Список ListIn класса Logic - список входных сигналов.

3. Список Steps класса Logic - список этапов программы.

При вызове метода отображения вкладки вызывается методы чтения имён входных сигналов GetListNameIn(), чтения условий шагов программы GetCondIn() и чтения уже написанных сообщений GetMess().

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

При вызове метода деактивации вкладки (переход на другую вкладку) вызывается метод записи сообщений и статуса сообщений SetMess(ListMess : list<string>, ListTypeMess : list<string>). Метод вызывается для всех шагов программы.

Подробное описание назначения некоторых методов приведено в разделе “Разработка основных алгоритмов”.

В данном подразделе выделены варианты использования разрабатываемой АИС: создание программы и модификация программы (анализ). Каждый из них содержит свои этапы. При моделировании данных выделено три абстрактных класса:

ѕ граничный класс “Форма отображения данных”;

ѕ сущностный класс “Параметры программы”;

ѕ управляющий класс - класс подключения к системе управления версиями Subversion.

Рисунок 16 - Диаграмма последовательности действий системы при выполнении процесса написания сообщений

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

1.6 Постановка задачи на разработку автоматизированной системы программирования промышленных роботов

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

ѕ определять в графическом интерфейсе параметры программы;

ѕ генерировать программные файлы;

ѕ экспортировать сборку программных файлов в хранилище данных по локальной сети;

ѕ переводить программные файлы в графическое представление;

ѕ изменять параметры программы и создавать новую сборку;

ѕ импортировать сборку программных файлов из хранилища данных;

ѕ работать со сборками программных файлов (сохранять и считывать) на локальном компьютере.

Система предназначена для программистов промышленных роботов.

Система должна позволять работать с программами, содержащими до 80 этапов, до 50 условий каждого этапа, и поддерживать программирование управления до 8 управляемых роботов.

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

Генерируемые файлы должны иметь формат *.src и *.txt.

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

Разрабатываемая АИС должна быть совместимо с любой версией Windows, не старше Windows XP SP2.

Для разработки АИС должна использоваться технология RAD, для проектирования CASE-средство - Visual Paradigm.

Для функционирования системы необходимо внедрить систему управления версиями Subversion. В качестве её web-сервера использовать web-сервер Apache и модуль WebDAV.

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

В данном разделе описана организационно-штатная структура ООО “ВМЗ” и отдела, в котором находится группа программирования промышленных роботов. Выявлены проблемы при программировании логики промышленных роботов: отсутствие автоматизированной системы и необходимость писать программы вручную. При поиске путей решения поставленной проблемы решено, что система будет разрабатываться “с нуля”. Для разработки автоматизированной информационной системы программирования логики промышленных роботов будет использоваться модель RAD (быстрая разработка приложений). Проектирование будет производиться в CASE-средстве Visual Paradigm.

Для эффективного использования разрабатываемой АИС предлагается внедрить систему управления версиями Subversion. Обращение приложения к хранилищу данных происходит через локальную сеть. В качестве web-сервера будет использоваться web-сервер Apache и модуль WebDAV.

При моделировании АИС выделены следующие варианты использования: создание программы и модификация программы (анализ). Создание программы включает этапы:

ѕ определение входных и выходных сигналов;

ѕ определение этапов программы;

ѕ определение матрицы условий и выходных сигналов для шагов программы;

ѕ описание сообщений для условий;

ѕ генерация программных файлов и их сохранение.

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

При моделировании данных выделено три абстрактных класса:

ѕ граничный класс “Форма отображения данных”;

ѕ сущностный класс “Параметры программы”;

ѕ управляющий класс - класс подключения к системе управления версиями Subversion.

Расписан сущностный класс “Параметры программы”.

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

2. Конструкторско-технологическая часть

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

2.1 Выбор средств реализации

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

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

2. Объектно-ориентированный подход. Возможность работать с данными как с экземплярами классов.

3. Работоспособность в распределённой среде. Возможность написания распределённых систем.

4. Простота освоения. Возможность сравнительно быстро освоить язык программирования, если имеется знания объектно-ориентированного подхода и опыт программирования на каком-либо объектном языке.

5. Переносимость. Возможность безболезненного переноса программы на разные операционные системы или их версии.

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

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

Для выбора подходящего языка программирования необходимо рассмотреть мировые тенденции в области современных языков программирования. Для большей достоверности будут рассмотрены рейтинги современных языков программирования двух компаний TIOBE Software и DOU.

Рейтинг языков программирования, составленный компанией TIOBE Software представлен на рисунке 17.

Рисунок 17 - Рейтинг языков программирования компании TIOBE Software

По данным компании TIOBE Software лидером среди языков программирования является Java.

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

1. Экономическая доступность. Для разработки программ на языке Java существует несколько свободно распространяемых сред разработки.

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

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

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

5. Архитектурная независимость. Центральной проблемой для проектировщиков Java была долговечность. Проектировщики сделали несколько жёстких решений в языке и виртуальной Java-машине в попытке решения этой проблемы. Их цель можно сформулировать так: “запись - однажды; выполнение - везде, в любое время, всегда”. В значительной степени эта цель была достигнута.

6. Устойчивость. Основные причины отказа программы это ошибки управления памятью и неуправляемые исключительные состояния. Язык Java управляет распределением и устранением памяти, исключая человеческие ошибки при данном процессе.

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

Компания DOU предоставляет другой рейтинг (см. рис. 18).

Рисунок 18 - Рейтинг языков программирования компании DOU

По данным компании DOU лидером среди языков программирования является С#. Но данный язык программирования не соответствует первому из поставленных требованию: для программирования на С# разработана своя среда Visual Studio от корпорации Microsoft. Для разработки коммерческих проектов необходимо использовать версии Professional или Ultimate. Обе эти версии платные (Professional 550$, Ultimate 12000$). [26] Таким образом, данный язык программирования уже уступает выделенному лидеру.

Вторым в рейтинге компании DOU является язык программирования Java. Его соответствия поставленным требованиям уже расписаны выше.

Таким образом, разработка автоматизированной информационной системы программирования логики промышленных роботов для ООО “ВМЗ” будет производиться на объектно-ориентированном языке программирования Java. Система будет разрабатываться в среде NetBeans, она свободно распространяемая, также имеются навыки работы в этой среде. [27,28,29]

2.2 Разработка пользовательского интерфейса

Пользовательский интерфейс представляет собой одну форму со следующими вкладками:

1. Генерация/Чтение.

2. Входные сигналы.

3. Выходные сигналы.

4. Шаги.

5. Условия шагов.

6. Сообщения.

7. Сигналы шагов.

8. Системные переменные.

Каждая вкладка работает с определёнными данными.

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

Если программируемый робот управляет другими роботами, то режим программирования робота должен быть “Master”. При этом необходимо указать сколькими роботами Slave управляет программируемый робот.

Рисунок 19 - Общий вид формы

Режим программирования можно менять в любой момент. При этом списки назначений генерируются автоматически.

Описание вкладки “Входные сигналы”

На вкладке “Входные сигналы” расположена таблица, первый столбец которой состоит из выпадающих списков. Каждая ячейка первого столбца (столбец “Назначение”) содержит список возможных назначений. Если заданный режим программирования “Robot”, то список назначений содержит две строки “Robot” и “SYS”. Назначение “Robot” определяет сигналы устройств, подключенных к роботу. Это может быть оснастка, элементы безопасности (фотобарьеры) и другие. Назначение “SYS” определяет системные сигналы робота. Имеется определённый неизменяющийся набор системных сигналов робота. При выборе назначения “SYS” возможно выбрать сигнал, то есть изменить номер входа/выхода сигнала. Остальная информация о системных сигналах (имя, комментарий) не изменяется. Все системные сигналы прописаны в таблице на вкладке “Системные переменные”. Если заданный режим программирования “Master”, то в список назначений добавляются назначения роботов Slave по количеству указанному при определении режима программирования (см. рис. 20).

Рисунок 20 - Вкладка “Входные сигналы”. Заполнение

При выборе различных назначений строки таблицы меняют цвет (см. рис. 20 и 21). Это предусмотрено для большей наглядности и снижения зрительных нагрузок при поиске блоков сигналов определённого назначения.

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

Рисунок 21 - Вкладка “Входные сигналы”. Сигналы slave2

При программировании робота, который управляет несколькими роботами Slave, имеется возможность дублировать сигналы. То есть, если для одного робота Slave уже прописаны какие-то сигналы, то их имена можно использовать для определения сигналов другого робота Slave. Эта возможность предусмотрена, так как при решении одной производственной задачи все роботы обмениваются однотипными сигналами. Но разные роботы также могут иметь уникальные сигналы. Чтобы добавить новый сигнал для Slave необходимо выбрать строку выпадающего списка “new” и вписать имя сигнала.

Описание вкладки “Шаги”

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

Рисунок 22 - Вкладка “Шаги”

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

Описание вкладки “Условия шагов”

Условия шагов - это ожидания определённых сигналов на этапе программы. При описании условий каждого шага программы предоставляется возможность выбрать последовательность опрашиваемых входов робота. При этом блоки назначений сигналов менять нельзя. То есть таблица условий содержит строки, распределённые на блоки, раскрашенные в разные цвета (см. рис. 23). Каждый блок содержит количество строк, соответствующее количеству сигналов одного назначения. Цвет строк блока тот же, что и на вкладке “Входные сигналы”. Количество строк таблицы соответствует количеству определённых на вкладке “Входные сигналы” сигналов. Чтобы не перепутать сигналы разных блоков, выпадающие списки с именами сигналов содержат только те сигналы, которые определены в этом блоке.

Рисунок 23 - Вкладка “Условия шагов”. Общий вид

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

Рисунок 24 - Вкладка “Условия шагов”. Списки

Количество строк таблицы генерируется автоматически при активации вкладки.

Описание вкладки “Сигналы шагов”

Выходные сигналы имеют 4 вида: пульсирующий сигнал с положительным фронтом, пульсирующий сигнал с отрицательным фронтом, постоянный положительный сигнал, постоянный отрицательный сигнал. Для пульсирующих сигналов задаётся одинаковое время сохранения поданного сигнала (см. рис. 25). По умолчанию это время пульсирующего сигнала 0,5 сек., но его можно менять.

Рисунок 25 - Вкладка “Сигналы шагов”

Также как и на вкладке “Условия шагов” выходные сигналы делятся на блоки, которые отображают сигналы одного назначения и имеют разные цвета. Цвет одного назначения один на разных вкладках, то есть на вкладке “Выходные сигналы” отображение идентично отображению на вкладке “Входные сигналы”.

Описание вкладки “Системные переменные”

Системные переменные для робота определены системой управления (KRC). В программу занесены имена системных переменных и их расшифровка. Все переменные отображаются в одной таблице, поэтому имеется столбец “IN/OUT/Variable”, который определяет происхождение сигнала (см. рис. 26). В разрабатываемой системе прописаны только те системные переменные, которые имеют битовый тип данных (boolean), так другие системные переменные не используются при программировании логики промышленного робота.

Рисунок 26 - Вкладка “Системные переменные”

На вкладке “Системные переменные” отсутствует возможность изменять данные переменных. В программе можно менять только номера системных входов/выходов. Номера системных входов/выходов на вкладке “Системные переменные” меняются автоматически при переопределении сигнала на вкладке “Входные сигналы” или “Выходные сигналы”.

Итак, в данном подразделе рассмотрены пять видов пользовательского интерфейса: вкладка “Входные сигналы”, вкладка “Шаги”, вкладка “Условия шагов”, вкладка “Сигналы шагов”, вкладка “Системные переменные”. На вкладке “Входные сигналы” прописываются имена сигналов и их назначения, строки с разными назначениями сигналов окрашиваются в разные цвета для лучшего восприятия. На вкладке “Шаги” прописываются этапы программы, нумерация этапов программы может быть не последовательной. На вкладке “Условия шагов” определяется последовательность опрашиваемых сигналов, прописываются ожидаемые значения для этих сигналов. На вкладке “Сигналы шагов” прописываются сигналы, подаваемые на шагах программы. Вкладка “Системные переменные” содержит данные о системных сигналов, она является информативной.

2.3 Разработка основных алгоритмов системы программирования промышленных роботов

Классы, реализующие функциональность АИС, имеют много методов. Оригинальные методы перечислены в диаграмме классов. Методы, функционал которых известен без описания (методы чтения и записи полей классов), не отображены в диаграмме классов. В данном подразделе описаны только те методы, которые имеют достаточно сложный функционал.

Функция записи списка входных сигналов

Метод SetListIn (ListInOut : list<InOut>) записывает данные в список ListIn. Этот метод нельзя назвать стандартным, так как он не просто перезаписывает данные, но при перезаписи проверяет наличие в списке записываемых объектов по полям “Имя” и “Номер” (см. рис. 27). Эти поля выбраны для проверки, так как при переопределении сигнала может измениться имя уже используемого сигнала или номер.

Рисунок 27 - Алгоритм метода “SetListIn”

Метод SetListIn(ListInOut : list<InOut>) сначала проверяет присутствие объектов в списке по полю “Имя”, затем по полю “Номер”. Это аргументируется тем, что чаще меняется имя сигнала, чем его номер.

Функция удаления пустых объектов из списка

DelNullObject (ListInOut : list<InOut>) - метод удаления пустых объектов из списка входных сигналов. В процессе переопределения входных сигналов какие-то сигналы удаляются, какие-то сигналы добавляются. Так как объекты списка Steps ссылаются на номера объектов списка ListIn, то при удалении и добавлении объектов в список ListIn будет теряться связь в списке Steps. Чтобы избежать данной проблемы при удалении входных сигналов, объекты, содержащие эти сигналы, не удаляются, а происходит удаление имени сигнала (см. рис. 28). При перезаписи списка Steps объекты списка ListIn с обнулёнными именами удаляются методом DelNullObject.

Рисунок 28 - Алгоритм метода “DelNullObject”

Для удаления пустых объектов их списка ListOut используется этот же метод, так в него передаётся список, который необходимо изменить.

Функция чтения списка не добавленных в условия входных сигналов

После определения сигналов и записи их в список ListIn пользователь на форме определяет последовательность сигналов при проверке условий шагов программы. Выбор сигналов происходит из списка сигналов, которые ещё не прописаны в последовательности. Для облегчения функциональности графического интерфейса проверка на отсутствие сигналов в последовательности происходит методом GetListNotAddIn(), который считывает поле AddIn у объектов и формирует список не прописанных в последовательности сигналов (см. рис. 29).

Рисунок 29 - Алгоритм метода “GetListNotAddIn”

Метод возвращает список имён сигналов, так как для формирования последовательности используется только это поле объекта.

Функция сортировки списков в пользовательской последовательности

Метод SortListInOut (ListNameInOut : list<string>, ListInOut : List<InOut>) предназначен для сортировки объектов списков в последовательности, заданной пользователем. При определении сигналов и первой их записи они записываются в список в порядке чтения с таблицы. При определении условий или выходных сигналов пользователь определяет последовательность проверяемых/передаваемых сигналов. Чтобы сохранить эту последовательность для дальнейшего чтения список сортируется. Алгоритм функции сортировки представлен на рисунке 30.

Рисунок 30 - Алгоритм метода “SortListInOut”

Методы SetListIn, DelNullObject, SortListInOut обеспечивают сохранение связи между списками ListIn и Steps. Методы SetListOut, GetListNotAddOut для списка ListOut аналогичны методам SetListIn и GetListNotAddIn, поэтому нет надобности описания их функциональности. Программный код методов отображён в Приложении А.

Функция генерации файла конфигурации

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

ѕ init.src;

ѕ update.src;

ѕ config.txt;

ѕ comment.txt;

ѕ machine.dat.

Файл comment.txt является вспомогательным, он хранит комментарии. Остальные файлы являются необходимыми для конфигурации системы и работоспособности технологии. Файл config.txt содержит глобальные переменные, необходимые для работоспособности технологии. Файл config.txt содержит блок данных, который является частью данных файла config.dat. Алгоритм метода “GenConfig” удобнее описать, так как блок схема будет перегружена строковыми переменными. При описании алгоритма постоянные строки программы не будут прописаны, полный текст файла можно увидеть в Приложении Б.

Алгоритм метода “GenConfig”:

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

2. Если список назначений ListUse содержит только два объекта, перейти к шагу 4.

3. Прописать структуру данных SLAVEROBTYPE, содержащую перечень сигналов slave из списка ListSigSlave.

4. Прописать переменные хранящие количество шагов программы, количество условий и время пульсации.

5. Если список назначений ListUse содержит только два объекта, перейти к шагу 8.

6. Объявить массив SLAVEROB. Размерность массива соответствует количеству назначений slaveX.

7. Для каждого элемента массива SLAVEROB прописать все переменные списка ListSigSlave. Если в списке ListIn/ListOut с соответствующим назначением отсутствует объект ListIn.Name== ListSigSlave(текущий), то после прописи сигнала поставить 0, иначе записать ListIn.Num.

8. Прописать закрытие фолда переменных и открытие фолда сигналов.

9. Прописать имена и номера сигналов с назначением “Robot”.

10. Прописать закрытие фолда сигналов.

Результаты функций генерации с привязкой к объектам отображены в Приложении В.

Таким образом, в данном подпункте описаны следующие методы:

ѕ алгоритм метода “SetListIn”, реализующий функцию записи списка входных сигналов;

ѕ алгоритм метода “DelNullObject”, реализующий функцию удаления пустых объектов из списка;

ѕ алгоритм метода “GetListNotAddIn”, реализующий функцию чтения списка не добавленных в условия входных сигналов;

ѕ алгоритм метода “SortListInOut”, реализующий функцию сортировки списков в пользовательской последовательности;

ѕ алгоритм метода “GenConfig”, реализующий функцию генерации блока основного файла конфигурации config.txt.

Алгоритмы методов SetListOut, GetListNotAddOut для списка ListOut аналогичны методам SetListIn и GetListNotAddIn, поэтому нет надобности описания их функциональности. Код программы с реализацией методов отображён в Приложении А. Результаты функций генерации “GenInit”, “GenUpdate” и “GenConfig” с привязкой к объектам отображены в Приложении Б.

2.4 Тестирование системы программирования логики промышленных роботов

Тестирование программного обеспечения -- процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

Полное тестирование любой системы включает:

1. Функциональное тестирование (functional testing) - это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.

2. Тестирование производительности (performance testing) - тестирование, которое проводится с целью определения, как быстро работает система или её часть под определённой нагрузкой.

3. Юзабилити-тестирование (usability testing) - исследование, выполняемое с целью определения, удобен ли некоторый искусственный объект для его предполагаемого применения (Проверка эргономичности).

4. Тестирование интерфейса пользователя (UI testing) - проверка соответствия приложения требованиям к графическому интерфейсу, профессионально ли оно выглядит, выполнено ли оно в едином стиле. Тестирование UI очень редко проходит отдельно от основного функционального тестирования.

5. Тестирование безопасности (security testing) - оценка уязвимости программного обеспечения к различным атакам.

6. Тестирование локализации (localization testing) - это тестирование локализованной версии сайта. Локализация сайта - процесс адаптации сайта к культурным особенностям какой-либо страны: перевод документации, пользовательского интерфейса, сопутствующих материалов с одного языка на другой.

7. Тестирование совместимости (compatibility testing) - метод, основной целью которого является обеспечение качественной работы конечного продукта с другими программами, операционными системами, железом. [30, 31]

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

Функциональное тестирование

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

При тестировании будет проверено:

1. Наличие графических элементов.

2. Выполнение функций общей формы.

3. Выполнение функций вкладки “Генерация/Чтение”.

4. Выполнение функций вкладки “Входные сигналы”

5. Выполнение функций вкладки “Выходные сигналы”.

6. Выполнение функций вкладки “Шаги”.

7. Выполнение функций вкладки “Условия шагов”.

8. Выполнение функций вкладки “Сообщения”.

9. Выполнение функций вкладки “Сигналы шагов”.

10. Выполнение функций вкладки “Системные переменные”.

11. Корректная работа с Subversion

После тестирования будет составлен BugReport, отражающий ошибки позитивного и негативного тестирования.

Таблица 5 - Тест-кейс для позитивного тестирования АИС программирования логики промышленных роботов

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Назначение: Наличие графических элементов

Наличие RadioButton для выбора режима программирования

-

RadioButton “Robot” и “Master”

pass

Наличие Spinner для выбора количества Slave

-

Элемент Spinner присутствует

pass

Наличие вкладки “Генерация/Чтение”

-

Элемент присутствует

pass

Наличие вкладки “Входные сигналы”

-

Элемент присутствует

pass

Наличие вкладки “Выходные сигналы”

-

Элемент присутствует

pass

Наличие вкладки “Шаги”

-

Элемент присутствует

pass

Наличие вкладки “Условия шагов”

-

Элемент присутствует

pass

Наличие вкладки “Сообщения”

-

Элемент присутствует

pass

Наличие вкладки “Сигналы шагов”

-

Элемент присутствует

pass

Наличие вкладки “Системные переменные”

-

Элемент присутствует

pass

Закрытие программы по окончанию работы

1. Зайти на вкладку “Генерация/Чтение”.

2. Определить параметры сохранения.

3. Нажать на кнопку “Генерация”.

4. Закрыть программу

Закрытие программы

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Преждевременное закрытие программы

Закрыть программу без генерации файлов

Диалог “Сохранить данные перед закрытием?”

pass

Назначение: Выполнение функций общей формы

Выбор режима программирования “Robot”

Выбрать RadioButton “Robot”

Элемент Spinner не активен

pass

Выбор режима программирования “Master”

Выбрать RadioButton “Master”

Элемент Spinner активен

pass

Увеличения количества slave до 8

Увеличить значение элемента Spinner до 8

Значение элемента Spinner 8

pass

Назначение: Выполнение функций вкладки “Входные сигналы”

Наличие назначений “Robot” и “SYS” при режиме программирования “Robot”

1. Выбрать RadioButton “Robot”.

2. Перейти на вкладку “Входные сигналы”.

3. Раскрыть список в столбце назначение.

Список содержит две строки “Robot” и “SYS”

pass

Наличие назначений “Slave1” и “Slave2” при выборе двух slave

1. Выбрать RadioButton “Master”.

2. Увеличить значение Spinner до двух.

3. Перейти на вкладку “Входные сигналы”.

4. Раскрыть список в столбце назначение.

Список содержит строки “Robot”, “SYS”, “Slave1”, “Slave2”

pass

Выделение цветом строк с разными назначениями сигналов

-

Строки поделены на группы по назначениям. Группы строк разных цветов.

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Наличие выпадающего списка в поле “Имя” при выборе назначения “SYS”

В столбце “Назначение” выбрать назначение “SYS”

В столбце “Имя” появился выпадающий список

pass

Наличие всех входных системных сигналов в выпадающем списке в поле “Имя” при выборе назначения “SYS”

1. В столбце “Назначение” выбрать назначение “SYS”.

2. В столбце “Имя” раскрыть выпадающий список.

Строки списка соответствуют системным входным сигналам

pass

Отображение всех 1026 номеров в поле “Номер”

Пролистать таблицу до конца

В столбце “Номер” отображены все номера от 1 до 1026

pass

Последовательное отображение номеров в поле “Номер”

Пролистать таблицу до конца

В столбце “Номер” все номера записаны последовательно

pass

Наличие выпадающего списка в поле “Имя” при выборе назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” раскрыть выпадающий список.

Строки списка содержат имена Slave1 и строку “new”

pass

Возможность выбора имени из выпадающего списка при выборе назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” выбрать в выпадающем списке имя.

Выбранное имя добавлено в ячейку.

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Возможность задания нового имени при выборе назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” выбрать в выпадающем списке строку “new”.

В столбце “Имя” пустая строка с курсором.

pass

Дублирование комментария при выборе имени из выпадающего списка для назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” выбрать в выпадающем списке имя.

В столбце “Комментарий” появился комментарий выбранного имени

pass

Назначение: Выполнение функций вкладки “Выходные сигналы”

Наличие назначений “Robot” и “SYS” при режиме программирования “Robot”

1. Выбрать RadioButton “Robot”.

2. Перейти на вкладку “Выходные сигналы”.

3. Раскрыть список в столбце назначение.

Список содержит две строки “Robot” и “SYS”

Наличие назначений “Slave1” и “Slave2” при выборе двух slave

1. Выбрать RadioButton “Master”.

2. Увеличить значение Spinner до двух.

3. Перейти на вкладку “Выходные сигналы”.

4. Раскрыть список в столбце назначение.

Список содержит строки “Robot”, “SYS”, “Slave1”, “Slave2”

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Выделение цветом строк с разными назначениями сигналов

-

Строки поделены на группы по назначениям. Группы строк разных цветов.

pass

Наличие выпадающего списка в поле “Имя” при выборе назначения “SYS”

В столбце “Назначение” выбрать назначение “SYS”

В столбце “Имя” появился выпадающий список

pass

Наличие всех входных системных сигналов в выпадающем списке в поле “Имя” при выборе назначения “SYS”

1. В столбце “Назначение” выбрать назначение “SYS”.

2. В столбце “Имя” раскрыть выпадающий список.

Строки списка соответствуют системным входным сигналам

pass

Отображение всех 1026 номеров в поле “Номер”

Пролистать таблицу до конца

В столбце “Номер” отображены все номера от 1 до 1026

pass

Последовательное отображение номеров в поле “Номер”

Пролистать таблицу до конца

В столбце “Номер” все номера записаны последовательно

pass

Наличие выпадающего списка в поле “Имя” при выборе назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” раскрыть выпадающий список.

Строки списка содержат имена Slave1 и строку “new”

pass

Возможность выбора имени из выпадающего списка при выборе назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” выбрать в выпадающем списке имя.

Выбранное имя добавлено в ячейку.

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Возможность задания нового имени при выборе назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” выбрать в выпадающем списке строку “new”.

В столбце “Имя” пустая строка с курсором.

pass

Дублирование комментария при выборе имени из выпадающего списка для назначения “Slave2”

1. В столбце “Назначение” выбрать назначение “Slave2”.

2. В столбце “Имя” выбрать в выпадающем списке имя.

В столбце “Комментарий” появился комментарий выбранного имени

pass

Назначение: Выполнение функций вкладки “Шаги”

Написание целого числа в поле “Номер”

Записать целое число в поле “Номер”

Число записано

pass

Написание комментария в поле “Комментарий”

Записать текст в поле “Комментарий”

Текст записан

pass

Добавление строки после выделенной

1. Выделить строку.

2. Нажать кнопку “Добавить шаг после текущего”.

Добавлена строка после выделанной строки

pass

Удаление выделенной строки

1. Выделить строку.

2. Нажать кнопку “Удалить текущий шаг”.

Выделенная строка удалена

pass

Назначение: Выполнение функций вкладки “Условия шагов”

Наличие выпадающих списков в столбце “Входа”

-

Элемент присутствует

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Разделение цветом блоков строк по назначениям

-

Строки поделены на группы по назначениям. Группы строк разных цветов.

pass

Выпадающий список в блоке одного назначения имеет сигналы только этого назначения

Раскрыть выпадающий список

Строки списка соответствуют записанным сигналам под данным назначением

pass

При выборе сигнала он исчезает из списка

1. Открыть выпадающий список.

2. Выбрать сигнал.

3. Открыть на другой строке выпадающий список этого же назначения.

Список содержит только не прописанные в столбце имена сигналов.

pass

При удалении имени сигнала из ячейки “Входа” удалённый сигнал появляется в списке

1. Выбрать сигнал из списка.

2. Проверить отсутствие выбранного сигнала в списке.

3. Удалить ранее выбранный сигнал из ячейки.

Удалённый сигнал присутствует в списке.

pass

Количество столбцов шагов равно количеству шагов

Сравнить количество шагов на вкладке “Условия шагов” с количеством шагов на вкладке “Шаги”

Количество шагов программы и их номера совпадают.

pass

Запись объектов при вводе 0/1 в ячейки условий шагов

1. Записать в ожидаемые значения сигналов цифры 0/1.

2. Перейти на другую вкладку.

3. Вернуться на вкладку “Условия шагов”.

Данные отображены также как были записаны (объекты записаны и считаны корректно)

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Назначение: Выполнение функций вкладки “Сообщения”

Активизация ячеек сообщений

-

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

pass

Блокировка ячеек сообщений.

-

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

pass

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

В активной ячейке выбрать статус сообщения

В ячейке записан статус сообщения

pass

Возможность написать сообщения для всех шагов и необходимых условий

-

Таблица отображает все необходимые ячейки

pass

Назначение: Выполнение функций вкладки “Сигналы шагов”

Наличие выпадающих списков в столбце “Выхода”

-

Элемент присутствует

pass

Разделение цветом блоков строк по назначениям

-

Строки поделены на группы по назначениям. Группы строк разных цветов.

pass

Выпадающий список в блоке одного назначения имеет сигналы только этого назначения

Раскрыть выпадающий список

Строки списка соответствуют записанным сигналам под данным назначением

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

При выборе сигнала он исчезает из списка

1. Открыть выпадающий список.

2. Выбрать сигнал.

3. Открыть на другой строке выпадающий список этого же назначения.

Список содержит только не прописанные в столбце имена сигналов.

pass

При удалении имени сигнала из ячейки “Входа” удалённый сигнал появляется в списке

1. Выбрать сигнал из списка.

2. Проверить отсутствие выбранного сигнала в списке.

3. Удалить ранее выбранный сигнал из ячейки.

Удалённый сигнал присутствует в списке.

pass

Количество столбцов шагов равно количеству шагов

Сравнить количество шагов на вкладке “Условия шагов” с количеством шагов на вкладке “Шаги”

Количество шагов программы и их номера совпадают.

pass

Запись объектов при вводе 0/1/Р0/Р1 в ячейки условий шагов

1. Записать в ожидаемые значения сигналов 0,1,Р0,Р1.

2. Перейти на другую вкладку.

3. Вернуться на вкладку “Сигналы шагов”.

Данные отображены также как были записаны (объекты записаны и считаны корректно)

pass

Увеличение времени сигнала

Увеличить значение элемента Spinner

Значение увеличивается

pass

Уменьшение времени сигнала до 0

Уменьшить значение элемента Spinner до 0

Значение элемента Spinner 0

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Назначение: Выполнение функций вкладки “Системные переменные”

Отображение системных переменных и данных по ним

-

Присутствие всех системных переменных и корректная расшифровка переменных

pass

Изменение данных

Удалить текст из ячейки

Изменение текста заблокированно

pass

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

1. Перейти на вкладку “Входные сигналы”.

2. Выбрать назначение “SYS”.

3. Выбрать имя системного сигнала.

4. Перейти на вкладку “Системные переменные”.

5. Сравнить номера сигналов на вкладках “Входные сигналы” и Системные переменные

Номера сигналов совпадают

pass

Назначение: Корректная работа с Subversion

Извлечение сборки из хранилища

1. Определить путь сборки в хранилище.

2. Определить путь локального сохранения рабочей копии.

3. Нажать кнопку “Извлечь”.

Сборка сохранена по указанному пути. Данные отображены в АИС

pass

Сохранение сборки в хранилище

1. Определить путь сохранения в хранилище.

2. Нажать кнопку “Генерация”.

Файлы сгенерированы и сохранены по указанному пути

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Сохранение сборки на локальную машину

1. Определить путь сохранения на локальную машину.

2. Нажать кнопку “Генерация”.

Файлы сгенерированы и сохранены по указанному пути

pass

Создание новой ветки сборок

1. Определить путь сохранения в хранилище.

2. Нажать кнопку “Генерация”.

Указанная ветка создана. Файлы сохранены.

pass

Негативное тестирование (см. табл. 6) проводится для проверки работоспособности системы при вводе некорректных данных.

Таблица 6 - Тест-кейс для негативного тестирования АИС программирования логики промышленных роботов

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Назначение: Выполнение функций общей формы

Увеличения количества slave до 10

-

Значение элемента Spinner 8

pass

Уменьшение количества slave до -1

-

Значение элемента Spinner 0

pass

Назначение: Выполнение функций вкладки “Входные сигналы”

Запись повторяющихся имён

-

Сообщение об ошибке

fail

Назначение: Выполнение функций вкладки “Выходные сигналы”

Запись повторяющихся имён

-

Сообщение об ошибке

fail

Сценарий

Действия

Ожидаемый результат

Полученный результат

(pass, fail)

Назначение: Выполнение функций вкладки “Шаги”

Написание дробного числа в поле “Номер”

Записать в поле “Номер” дробное число

Невозможно поставить знак препинания

fail

Написание строки в поле “Номер”

Записать в поле “Номер” строку

Символы не подрисовываются

pass

Повторение номера шага

Записать в поле “Номер” один номер для разных шагов

Сообщение об ошибке

fail

Написание номеров шагов не по возрастанию

Написать номера шагов в порядке убывания

Сообщение об ошибке

fail

Написание одинаковых расшифровок шагов

Написать одинаковый комментарий для разных шагов

Комментарий принят (записан)

pass

Назначение: Выполнение функций вкладки “Условия шагов”

Запись объектов при вводе дробного числа в ячейки условий шагов

Записать дробное число в ячейку ожидаемого значения

Блокировка набора символов отличных от 0 и 1

pass

Запись объектов при вводе текста в ячейки условий шагов

Записать текст в ячейку ожидаемого значения

Блокировка набора символов отличных от 0 и 1

pass

Назначение: Выполнение функций вкладки “Сообщения”

Статус сообщения не выбран

Записать текст сообщения. Статус оставить пустым

Запись статуса по умолчанию

pass

Статус сообщения выбран, текст сообщения не написан

Выбрать статус, текстовое поле сообщение оставить пустым

Запись статуса и сообщения по умолчанию

pass

Поля сообщения не заполнены

-

Запись статуса и сообщения по умолчанию

pass

Сообщения повторяются

Написать одинаковые сообщения

Записать сообщения

pass

Сценарий

Действия

Ожидаемый результат

Полученный результат

Назначение: Выполнение функций вкладки “Сигналы шагов”

Уменьшить время сигнала до -1

Уменьшить значение элемента Spinner до значения -1

Значение элемента Spinner 0

pass

Запись объектов при вводе дробного числа в ячейки сигналов шагов

Записать дробное число в ячейку

Блокировка набора знаков препинания

pass

Запись объектов при вводе другой строки (не Р1 и Р2) в ячейки условий шагов

Записать строку в ячейку

Блокировка набора строк отличных Р1,Р2

fail

При проведении тестирования выявлены ошибки работы системы. Они сведены в таблицу 7.

Таблица 7 - BugReport тестирования автоматизированной системы

№ бага

Краткое описание

Действие

Полученный результат

Ожидаемый результат

Приоритет бага

1

Запись повторяющихся имён на вкладке “Входа”

-

Ошибка системы

Сообщение об ошибке

нормальный

2

Запись повторяющихся имён на вкладке “Выхода”

-

Ошибка системы

Сообщение об ошибке

нормальный

3

Написание дробного числа в поле “Номер”

-

Ошибка системы

Невозможно поставить знак препинания

нормальный

4

Повторение номера шага

-

Ошибка системы

Сообщение об ошибке

низкий

5

Написание номеров шагов не по возрастанию

-

Ошибка системы

Сообщение об ошибке

низкий

6

Запись объектов при вводе другой строки (не Р1 и Р2) в ячейки условий шагов

-

Ошибка системы

Блокировка набора строк отличных Р1,Р2

высокий

При тестировании АИС программирования промышленных роботов выявлены шесть ошибок, которые необходимо отладить.

Тестирование совместимости

Тестирование совместимости позволит убедиться, что система программирования логики промышленных роботов:

1) совместима со всеми целевыми ОС -Windows XP SP2 и старше;

2) корректно работает как на x86, так и на x64;

3) может быть выполнена различными версиями интерпретатора языка программирования (при использовании разных версий Java-машины).

Тестирование будет проводиться для следующих операционных систем:

ѕ Windows XP SP2 x86;

ѕ Windows XP SP3 x86;

ѕ Windows XP SP3 x64;

ѕ Windows 7 x64.

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

Таблица 8 - Тест-кейс для тестирования совместимости АИС программирования логики промышленных роботов

Операционная система

Версия JDK

Работоспособность системы

Windows XP SP2 x86

5.11

Отличная

6.22

Отличная

7.0

Отличная

Windows XP SP3 x86

5.11

Отличная

6.22

Отличная

7.0

Отличная

Windows XP SP3 x64

5.11

Отличная

6.22

Отличная

7.0

Отличная

Операционная система

Версия JDK

Работоспособность системы

Windows 7 x64

5.11

Отличная

6.22

Отличная

7.0

Отличная

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

В данном подразделе было проведено функциональное тестирование и тестирование совместимости. При негативном функциональном тестировании выявлено шесть ошибок. При тестировании совместимости была проверена корректная функциональность системы на платформах Windows XP SP2 x86, Windows XP SP3 x86, Windows XP SP3 x64, Windows 7 x64 и при различных версиях JDK. Проблем совместимости с перечисленным программным обеспечением АИС программирования промышленных роботов не имеет.

2.5 Схема реализации

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


Подобные документы

  • Область применения промышленных роботов. Тенденция увеличения парка промышленных роботов в современном производстве. Компоненты промышленных роботов, принципы их работы и построения. Датчики, применяемые для сбора информации в промышленных роботах.

    курсовая работа [1,1 M], добавлен 06.04.2012

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

    курсовая работа [1,3 M], добавлен 27.12.2011

  • Классификация и назначение промышленных роботов. Применение робототехнических комплексов в промышленности. Назначение робототехнического комплекса "Ритм – 01". Описание инструментальных средств программирования и языки программирования контроллеров.

    дипломная работа [2,4 M], добавлен 17.07.2012

  • Разработка автоматизированной информационной системы "Супермаркет DNS" с опорой на платформу NET, в среде MS Visual Studio, на языке программирования C. Объектная модель программной системы согласно методологии ОМТ. Описание алгоритмов обработки данных.

    курсовая работа [394,0 K], добавлен 21.10.2012

  • Автоматизированные информационные системы и их структура. Обзор существующих автоматизированных информационных систем "Расписание". Структурный подход к проектированию автоматизированной системы "Расписание", построение моделей данных и анализ внедрения.

    дипломная работа [3,1 M], добавлен 29.06.2010

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

    контрольная работа [486,7 K], добавлен 29.10.2013

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

    дипломная работа [1,2 M], добавлен 14.10.2012

  • Методы разработки автоматизированных систем. Характеристика языка программирования Delphi и операционной системы Windows. Разработка автоматизированной системы контроля знаний на примере дисциплины "История мира". Этапы разработки программного продукта.

    курсовая работа [3,8 M], добавлен 18.05.2014

  • Основы визуального программирования интерфейса. Архитектура программных систем. Проектирование базы данных. Анализ предметной области и связей между сущностями. Построение модели "сущность-связь". Разработка автоматизированной информационной системы.

    курсовая работа [4,4 M], добавлен 16.11.2014

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

    контрольная работа [848,9 K], добавлен 04.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.