Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Устройства программного управления.rtf
Скачиваний:
7
Добавлен:
01.05.2025
Размер:
33 Мб
Скачать
☆

Глава 4.

Технологии разработки программного обеспечения систем управления

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

Если фирма Microsoft может позволить себе публикацию нескольких обновлений каждую неделю и выпуск SP (Service Pack) раз в полгода, то обновление программного обеспечения систем управления означает реа­лизацию новой версии с одновременной поддержкой всех предыдущих вер­сий. И если обновления офисных программ вполне реально выполнять че­рез Internet, то для систем управления промышленным оборудованием та­кой возможности не существует.

4.1. Технология объектно-ориентированного программирования

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

ле на основе формализма Г. Буча, и проблемы повторного исполь­зования уже разработанных кодов, продемонстрирована возмож­ность инструментальной поддержки объектно-ориентированно­го программирования. Методология открытой архитектуры приоткрывает конечному пользо­вателю системы ЧПУ определенную часть математического обеспечения, с тем чтобы внедрить в систему свое собственное технологическое «know how». Поэтому разработчики математического обеспечения обязаны сде­лать его в достаточной степени обозримым и читаемым. Но это важно и самим разработчикам, чтобы внести в свой проект элементы структуриза­ции и четкой организации, поскольку только на подобной основе огром­ный по объему проект может эволюционировать и совершенствоваться [67].

4.1.1. Сравнение технологий программирования

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

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

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

В рамках сравнения технологий программирования чрезвычайно важ­но рассмотреть проблему повторного использования уже разработанного кода. Процедурный подход решает эту проблему посредством динамичес­ки подключаемых библиотек DLL (Dynamic Link Library), реализованных в двоичном коде. Для библиотек DLL возможно использование разных язы­ков программирования, однако существует проблема несовместимости версий одноименных библиотек. Есть и другой недостаток: отсутствует стандартный способ установки в системе более чем одной версии той же библиотеки.

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

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

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