О методах и средствах автоматизации проектирования программного обеспечения систем автоматизации

Под технологией автоматизированного производства программного обеспечения АСУ ТП по­нимают совокупность взаимосвязанных методоло­гических, программных и технических средств, регламентирующих эффективное использование программируемых логических контроллеров (ПЛК) в целях сокращения трудозатрат и повыше­ния качества проектирования, разработки (про­граммирования), отладки, выпуска технической документации и внедрения ПО на основе общно­сти информационной и научно-организационной баз. Использование средств автоматизации по­зволяет повысить производительность труда раз­работчиков ПО в среднем в 3—5 раз.

Современные принципы реализации сложных программных комплексов автоматизированных систем предполагают полное проектирование функционирования системы, включая как ее собственную работу, так и взаимодействие со средой, для обеспечения концептуальной целостности разработки. Проектирование — это многоэтапный ветвящийся процесс, базирующийся на разнообразных инструмен­тальных средствах и характеризующийся представлением объекта и его час­тей в виде набора математических модулей на каждом этапе проектирования; широким использованием различных способов структурирования, помогаю­щих анализировать функционирование системы и сводить ее обоснование и проектирование к обоснованию и проектированию частей; эвристическим характером отбора проектных вариантов и, следовательно, принципом не­окончательности решений на промежуточных стадиях проектирования; ите­ративностью проектирования на каждом этапе, что позволяет последовательно улучшать текущий вариант до необходимой степени совершенства; возмож­ностью активного участия человека во всех этапах процесса проектирования. Возрастает роль этапа проектирования автоматизированных систем в общей технологической схеме производства ПО систем управления технологическими процессами для получения корректного и устойчивого ПО, так как подход, заключающийся в интенсивной отладке уже спроектированных систем, требует значительных затрат и не дает желаемых результа­тов. Технология производства ПО систем управления технологическими процессами должна обеспечивать:

  • эффективность процесса создания ПО АСУ ТП за счет сокращения стои­мости и сроков разработки, улучшение качества обеспечения корректности и устойчивости создаваемого программного продукта;
  • комплексное рассмотрение всех этапов создания программной системы, обеспечение системности и оперативности внесения изменений в программу с помощью соответствующей методологии, развитых средств управления разработкой, а также благодаря возможности эффективного манипулирова­ния с программами и данными и удовлетворению всех информационных по­требностей разработчиков программ;
  • обоснованность проекта программной системы и контроль ее качества (это предполагает развитие средств фиксации вариантов проекта и разработку методов количественного оценивания каждого варианта);
  • легкость изучения и использования всех главных инструментальных средств на базе разработки для них эффективных языковых входов;
  • наличие средств получения достоверной документации на создаваемую систему на всех этапах ее развития;
  • применение структурного программирования в сочетании с методом проек­тирования программ «сверху—вниз»;
  • возможность постоянного развития и эволюции средств поддержания тех­нологии на своей собственной базе применительно к требованиям разработки. Предпосылки создания такой системы можно разделить на четыре груп­пы: технические, операционные, экономические и теоретические.

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

Проект программы, описанный на SDL-l, представляет собой сочетание данных, средств управления и процедур. Для ясного задания структуры про­екта применяют отличительные и описательные признаки. Для указания иерархической структуры используют номера уровней. В целом проект про­граммы описывают в терминах процедур, данных, переключателей и опреде­лений, и его структура имеет три уровня. Уровень 1, задаваемый признаком DESIGN SPECIFICATION, определяет сам проект программы. Уровень 2, задаваемый признаками PROCEDURES DATA SWITCHES, DEFINITIONS, содержит соответствующие элементы проекта. Уровень 3 описывает все имена процедур и кратко комментирует функции этих процедур. На уровне 2 зада­ют все глобальные структуры данных и перечисляют процедуры, имеющие доступ к ним, а также описывают глобальные переключатели и реализующие их процедуры. Структура программы организована «сверху — вниз». B SDL-1 подробные описания процедур применяют не только для того, чтобы сократить программу (как в обычных языках программирования), но, глав­ным образом, для придания проекту высокоструктурированной формы. Описание процедуры позволяет сразу же представить общее число, тип и параметры процедур. Специальное описание «структура процедуры» задает возможную структуру вызовов и возвратов для всех процедур. Структуру обращений дета­лизируют с помощью двухпозиционных номеров уровней, задающих положе­ние процедур в иерархической структуре программы. В языке предусмотрены два типа рекурсивных обращений к процедурам: прямой и цепной (прямое обращение имеет место, когда имя процедуры появляется с двух сторон оператора присваивания).

Все процедуры языка SDL-1 должны быть определены. Первая процедура — главная, причем внутри определения этой процедуры не могут содержаться другие определения. Для записи процедур можно использовать 9 операторов управления: BLOCK, SET, IF, CASE, LOOP, EXIT, CALL, RETURN, UNWIND. Оператор GO TO не применяют. Метки можно использовать только внутри оператора CASE.

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

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

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

Наиболее распространенные в настоящее время технологии разработки ПО АСУ ТП основаны на использовании: процедурно-ориентированных язы­ков высокого уровня, предназначенных для программирования процессов реального времени; проблемно-ориентированных пакетов прикладных про­грамм; библиотек макроопределений.

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

Языки программирования играют здесь двоякую роль. Они выступают и как средство формализованного описания поведения систем управления технологическими процессами на этапе их проектирования, и как средство получения искомого программного продукта. К основным особенностям таких языков следует отнести:

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

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

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

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

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

Второй способ (языки PROCESS, FORTRAN, REAL TIME BASIC) за­ключается в приспособлении (стандартизации) операционной системы к языку.

Существуют способы, при которых предусматривается более глубокое влияние как языка, так и операционной системы друг на друга (например, PEARL). Язык PEARL (Process and Experimental Automation Realtime Language) — универсальный язык, предназначенный для создания ПО АСУ ТП на базе программируемых логических контроллеров (ПЛК). Этот язык ориентирован на задачи обмена данными в информационных системах; управления экспериментом; контроля и управ­ления технологическими процессами. Его отличительными чертами являются возможность описания конфигурации технических средств АСУ ТП, наличие средств описания процессов ввода и отображения данных, развитых механиз­мов, организации параллельных вычислительных процессов в реальном вре­мени.

Существуют языки (например, MODULA), при разработке которых ис­пользовали способ интегрированного проектирования языка и операционной системы с включением в язык удобного механизма синхронизации.

Широкое распространение получили процедурно-ориентированные язы­ки реального времени: HAL/S, LAJ, LTPL, JOVIAL, RTL, LTR, MADAM и другие основные недостатки процедурных языков, используемых для управле­ния технологическими процессами, следующие:

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

Новости

Линия производства цветных принтерных чернил общим объемом 2000 литров - проектирование и поставка автоматической системы управления, г. Эгль, Швейцария

06.01.24

Линия производства цветных принтерных чернил общим объемом 2000 литров - проектирование и поставка а...

Снабжение факельной установки топливным газом на период аварийного отключения - поставка системы управления и выполнение ПНР, порт Тамань, Краснодарский край

06.01.24

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

Контроль расхода кислорода. Проектирование и поставка шкафа автоматики мониторинга, Санкт-Петербург

06.01.24

Контроль расхода кислорода. Проектирование и поставка шкафа автоматики мониторинга, Санкт-Петербург ...

Заказчики
Поставщики