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

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

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

Новости

Установка производства кристаллов по методу MPECVD, модернизация системы автоматического управления, г. Москва

22.11.22

Установка производства кристаллов по методу MPECVD, модернизация системы автоматического управления,...

Установка для точного дозирования заданного объема реагента, пос. Кузьмолово, Ленинградская обл.

02.12.22

Установка для точного дозирования заданного объема реагента, пос. Кузьмолово, Ленинградская обл. В ...

Водогрейная газовая котельная 30 МВт, разработка ПО и пуско-наладочные работы, г. Кудрово, Санкт-Петербург

01.12.22

Водогрейная газовая котельная 30 МВт, разработка ПО и пуско-наладочные работы, г. Кудрово, Санкт-Пет...

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