Сосонкин В.Л. 2005 Системы числового программного управления (841803), страница 33
Текст из файла (страница 33)
Обозначение классаДля полного описания объектноюриентированной модели нотация Бучаиспользует диаграммы:• взаимодействия для описания взаимодействующих групп объектов;• состояний и переходов для описания возможных состояний объектов и действий при изменении состояний;• модулей для распределения классов и объектов по модулям;• процессов для распределения задач по физическим устройствам ипроцессорам, обеспечивающих работу системы.Диаграмма взаимодействия показывает объекты и сообщения, которыми они обмениваются между собой в рамках некоторого конкретного механизма, и позволяет проследить выполнение сценария работы механизма.
Диаграммы взаимодействия полезны при описании поведения нескольких объектов в рамках одного варианта использования.Диаграмма состояния определяет состояния, в которых может находиться конкретный объект; события, инициирующие переход из одного состояния в другое; действия, инициируемые изменениями состояний. Этидиаграммы используют для анализа поведения отдельных классов при ихвзаимодействии и динамики системы в целом.Диаграмма модулей демонстрирует архитектуру системы в ее слоях иразделах. Набор модулей показывает структуру проекта.
Модулю главнойпрограммы сопоставлен файл с расширением *.срр, содержащий основную функцию main() или WinMain() для Windows. Модулю описания соответствует файл заголовков с расширением *.h, в котором объявляются клас--| 88"••"• Сосонкин, Г.М. Мартинов. Системы числового программного управлениясы. Модулю тело.соответствует файл с расширением *.срр, в котором представлены классы. Модулю подсистемы соответствует библиотека на языкеC++. В подсистеме размещены логически связанные модули описания имодули тела.Диаграмма процессов представляет физическую совокупность процессов и устройств, обеспечивающих работу системы.Формализм Буча нашел свое отражение в популярной CASE-системеRational Rose.
Система предполагает применение формализма Буча на этапе анализа и проектирования объектно-ориентированной модели. На основе модели генерируются исходные C++ коды, после чего программистуостается придать сгенерированным классам необходимые функциональные возможности. Реинжиниринг (т.е. обратная генерация объектно-ориентированной модели из исходного кода) позволяет системе Rational Roseдобавлять в модель изменения, внесенные в C++ файлы.ЗаключениеОбъектно-ориентированная технология создает на базе классов и объектов хорошо структурированное модульное программное обеспечение, улучшает сохранность данных путем инкапсуляции, уменьшает сложность клиентского программного обеспечения за счет полиморфизма и увеличиваетнадежность программного кода с помощью наследования.
Технологияобъектно-ориентированного и компонентного подходов является единственно приемлемой при разработке сложного и объемного программного обеспечения систем ЧПУ мехатронными системами.4.2. Специфика объектно-ориентированногопрограммированияОбъектно-ориентированная модель системы PCNC структурирует архитектуру системы, делает программное обеспечениепрозрачным и повышает, следовательно, его надежность, упорядочивает процесс разработки, создавая предпосылки для формирования его среды.
Рассмотренные элементы базовых абстракций, классы их объектной реализации, построенные на основеэтих классов механизмы служат основой для создания элементовсистемы ЧПУ более высокого уровня. К числу таких элементов относятся каналы, оси, закрепленные за этими каналами, и т. д.Общая технология объектно-ориентированного программирования формирует универсальный подход к созданию программного обеспечения, ноне учитывает специфику каждой реализации. Для раскрытия спецификиобъектно-ориентированного программирования системы ЧПУ типа PCNCГлава 4. Технологии разработки программного обеспечения систем управления189необходимы ее абстрактная модель, объектно-ориентированная модельобобщенного модуля, объектно-ориентированная модель отображения данных.
Совокупность подобных моделей позволяет просмотреть ключевыефазы разработки программного обеспечения ЧПУ: анализ, проектирование, реализацию.4.2.1. Элементы абстрактной модели системы PCNCАбстрактная модель системы PCNC может быть представлена совокупностью данных, команд и процессов (рис. 117). В соответствии с объектно-ориентированным представлением каждый из элементов совокупностиопределяют наборами свойств и функциональных возможностей (функциональностей), причем содержательно функциональные возможности состоят в выполнении операций над элементами. Выделение элементов позволяет строить единообразные механизмы для системы в целом и ееРеализация обменамежду модулямиРеализация режимовсистемыPCNCДанныеСвойства:идентификаторкоманды, списокпараметров,Функциональность:приоритетпроверить,выполнить,.Свойства;ТИП, размер,текущее значение.Функциональность.асинхронный запрос,синхронный запрос,цикличный запрос,форматирование,...ПроцессыСвойства:СПИСОК предшествующихопераций,Функциональность:текущее состояние подготовить, запустить,остановить,активизировать,завершить, восстановитьРеализация системыкоманд модулейРис.
117. Выделение элементов абстрактной модели системы PCISCВ.Л. Сосонкин, Г.М. Мартинов. Системы числового программного управлениякомпонентов. Так, на базе элементов абстрактной модели выстроен межмодульный обмен данными, организованы базовые режимы, определенасистема команд PCNC. Характер межмодульных транзакций, т.е. сессийобмена данными, зависит от категории последних.К первой категории отнесли те данные, без которых выполнение определенных операций попросту невозможно.
Сюда относятся все данные,необходимые для расчетов. Например, без знания табличного значения радиуса инструмента невозможно рассчитать эквидистантную коррекцию.Для получения подобных данных используют синхронную транзакцию:модуль, запрашивающий данные, приостанавливает свою работу до ихполучения.Во вторую категорию включили данные, использование которых в текущий момент некритично. Таковыми могут быть данные, привязанные кнаступлению какого-либо события, на которое модуль должен определенным образом отреагировать. В этом случае модуль запрашивает данныеасинхронным способом, формируя соответствующую заявку.
Запросив их,он не прекращает своей работы, а поступающий ответ обрабатывается такназываемой callback-функцией.Данные визуализации (выводимые на экран) нуждаются в постоянномциклическом опросе (они отнесены к третьей категории). Для минимизации объема транзакций используют асинхронный запрос по событию. Событием в этом случае служит изменение отслеживаемых данных.
Посленаступления события они передаются для обновления визуализации. Запрашивающий модуль регистрируется при этом как получатель («подписчик»).Таким образом, категория данных устанавливает способ их запроса повиртуальной шине [38]. Вспомогательные категории определяют специальные способы запроса при отладке системы и ее программного обеспечения. Однако категория - не единственная характеристика данных абстрактной модели системы PCNC. Другими характеристиками являются их формат, размерность, корректность (как результат верификации), тип (char, integer,long, double, pointer,...), объем занимаемой памяти и текущие значения.Процессы абстрактной модели системы PCNC определены своими состояниями (активное, неактивное, приостановленное, состояние ошибкии т.д.), списком предшествующих операций, набором предусмотренныхакций (инициализация, запуск, останов, завершение, выход из ошибочного состояния).
Состояниями и акциями можно управлять. Управление акциями осуществляется синхронным или асинхронным способом (подобнотранзакциям передачи данных). Понятие «процесс» близко к понятию «режим» системы ЧПУ (автоматический, ручной, толчковый, запуска строкиручного ввода и т.д.). Поскольку практически все модули системы ЧПУзависимы от режимов, они естественным образом связаны с процессами.Глава 4. Технологии разработки программного обеспечения систем управления•) g -|Принцип построения системы PCNC по типу языкового процессора [2]предполагает, что в качестве команд выступают G-функции кода ISO-7bit.В терминах команд осуществляются анализ, интерпретация и отработкакадров управляющей программы путем последовательного конвертирования информации в форматы интерполятора и приводов.
Каждая командаимеет свой идентификатор, список параметров и приоритет. Предусмотренные акции команд состоят в проверке возможности выполнения команди их непосредственной реализации. Команды входят в сложные отношения между собой для образования комплексных иерархических структур.Например, набор команд интерпретатора определяется как система командISO-процессора [51], причем для организации параллельной интерпретации в составе базового набора команд выделяют группы, так называемыегрупповые интерпретаторы.4.2.2.
Объектно-ориентированная модельмодуля системы PCNCВыделение элементов абстрактной модели системы ЧПУ является базисом для построения объектно-ориентированных моделей механизмов системы PCNC. Иерархия классов системы PCNC построена с использованием основных принципов объектно-ориентированного подхода: инкапсуляции (возможности скрывать детали объекта от программиста),наследования (возможности создавать новые объекты на базе существующих), полиморфизма (возможности использовать различные варианты поведения объектов). В основе иерархии лежат классы, реализующие элементы абстрактной модели: данные, процессы, команды.
Выделение этихклассов поддерживает общие свойства и поведение производных (наследованных) классов и позволяет разработать с их помощью все основныемеханизмы системы PCNC.Модуль системы PCNC строят по принципу командного процессора,на вход которого поступают команды с параметрами. Объектно-ориентированная модель модуля Б нотации Буча [70] показана на рис. 118. Классыпредставлены в виде «облачков Буча», связанных между собой определенными отношениями.














