Понятие открытой системы ввел. Открытость-свойство реальных систем

Понятие открытой системы

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

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

Открытой называется модульная система, которая допускает замену любого модуля на аналогичный модуль другого производителя, имеющийся в свободной продаже по конкурентоспособным ценам, а интеграция системы с другими системами (в том числе с пользователем) выполняется без преодоления чрезмерных проблем. Понятие открытости обсуждается на веб-сайтах OMAC (Open Modular Architecture Controls, www.omac.org ), и в работах [Helei , Business - Wang ].

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

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

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

    конструкционные элементы (шкафы, стойки, корпуса, разъемы, крепежные элементы);

    системы, включающие в себя перечисленные выше элементы.

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

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

    модульность;

    соответствие стандартам [Azevedo ] (необязательно официальным, но обязательно общепринятым и легко доступным по цене, компенсирующей только затраты на его разработку, поддержку и распространение);

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

Требование модульности вытекает из требования возможности замены части системы (т. е. модуля) аналогичными изделиями других производителей. Для этого система должна состоять из модулей.

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

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

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

Для SCADA системы признаками открытости являются совместимость со стандартом ОРС [Iwanitz ], совместимость с широко доступными компьютерами с различными операционными системами (желательно), совместимость с ActiveX, COM и DLL компонентами других производителей, поддержка языков стандарта МЭК 61131-3, наличие встроенного стандартного алгоритмического языка (например, Visual Basic) для реализации функций, которые невозможно реализовать другими средствами SCADA-пакета, возможность работы как с малым, так и большим количеством тегов без необходимости переобучения обслуживающего персонала, возможность применения веб-браузера в качестве пользовательского интерфейса для увеличения количества подключаемых рабочих станций, наличие пользовательского интерфейса, аналогичного интерфейсам других производителей, совместимость со стандартными базами данных и другими приложениями (например, Microsoft Office), расположенными на любых компьютерах сети.

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

Примером открытых систем являются системы, построенные на модулях и контроллерах RealLab! фирмы НИЛ АП (www.RealLab.ru), которые имеют стандартный протокол Modbus RTU или стандартный де-факто протокол DECON, стандартный интерфейс RS-485, стандартный конструктив (крепление на ДИН-рейку, разъемные клеммники), стандартные диапазоны аналоговых сигналов и стандартные уровни дискретных сигналов, стандартный OPC сервер, позволяющий использовать модули с любой стандартной SCADA. Любой модуль в такой системе может быть заменен на модули других производителей, которых в настоящее время насчитывается около десятка.

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

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

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

Наиболее подробное и ясное изложение требований к контроллерам с открытой архитектурой изложено в документе международной организации ISA под названием "Requirements of Open, Modular Architecture Controllers for Applications in the Automotive Industry" - "Требования к контроллерам с открытой модульной архитектурой для приложений в автомобильной индустрии". Во время написания этого документа в 1994 году были распространены частно-фирменные решения. Это приводило к тому, что потребитель средств автоматизации, однажды купив изделие одной фирмы, попадал в ценовую зависимость от нее, поскольку интерфейсы средств автоматизации разных фирм были различными и их сопряжение резко увеличивало общую стоимость системы. Расширение такой системы было дорогим, а обслуживающий персонал должен был проходить дополнительное обучение работе с нестандартным оборудованием.

Разновидностью и предельным случаем открытых систем являются системы, удовлетворяющие идеологии "Plug&Play" ("вставил - и заиграло"), когда вообще не требуется усилий для конфигурирования или настройки модулей после их подключения или замены на модули других производителей [Jammes ]. Идеология "Plug&Play" существенно снижает требования к квалификации системных интеграторов, сокращает срок ввода системы в эксплуатацию, а также издержки потребителей на техническую поддержку и эксплуатацию.

1.3.1. Свойства открытых систем

Открытые системы обладают следующими положительными свойствами [Business , Feldmann , Wang ], благодаря которым системные интеграторы проявляют к ним большой интерес:

    модульность;

    платформенная независимость;

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

    интероперабельность (возможность совместной работы) с компонентами других производителей;

    масштабируемость.

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

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

Модульность

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

Модульность обеспечивается при проектировании системы на архитектурном уровне. Базой для построения модульного программного обеспечения является объектно-ориентированное программирование. Главным достижением в направлении развития модульности программного обеспечения АСУ ТП является выделение в нем независимых подсистем: программы в ПЛК, OPC сервера, баз данных, операторского интерфейса и алгоритмической части, реализуемой на языках стандарта IEC 61131-3, а также деление SCADA на серверную и клиентскую части.

Платформенная независимость

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

    расширение выбора оборудования путем увеличения числа поставщиков;

    независимость от поставщика аппаратного и программного обеспечения.

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

Применение ОС Windows является одним из путей повышения открытости систем, поскольку эта операционная система может быть установлена на максимальное число типов производимых компьютеров. В данном случае монополия фирмы Microsoft компенсируется ее размерами и стабильностью.

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

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

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

Платформенной независимостью обладает также база данных с языком запросов SQL (Structured Query Language), если исключить из него по возможности все нестандартные расширения. Доступ к базе данных с помощью SQL осуществим независимо от программно-аппаратной платформы, на которой она находятся.

Взаимозаменяемость

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

Интероперабельность (аппаратно-программная совместимость)

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

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

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

Одним из методов обеспечения интероперабельности Windows и Unix платформ может быть применение стандарта CORBA (Common Object Request Broker Architecture) [Aleksy ].

Масштабируемость (наращиваемость)

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

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

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

Стандартность пользовательского интерфейса

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

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

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

Открытой называется модульная система, которая допускает замену любого модуля на аналогичный модуль другого производителя, имеющийся в свободной продаже по конкурентоспособным ценам, а интеграция системы с другими системами (в том числе с пользователем) выполняется без преодоления чрезмерных проблем. Понятие открытости обсуждается на веб-сайтах OMAC (Open Modular Architecture Controls , www.omac.org), и в работах [Helei , Business - Wang ].

Масштабируемость ( наращиваемость)

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

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

Стандартность пользовательского интерфейса

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

1.3.2. Средства достижения открытости

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

Промышленные сети и протоколы

Наиболее распространенными в России являются сети Modbus , Profibus , CAN , Ethernet . Оборудование, совместимое с ними, выпускается сотнями конкурирующих предприятий в разных странах мира, что обеспечивает отсутствие монопольных цен.

Интерфейсы

Наибольшая часть средств промышленной автоматизации, представленных на Российском рынке, имеет интерфейсы RS -232, RS -485, RS -422, CAN , Ethernet , USB . Большое значение для повышения степени открытости имеют преобразователи интерфейсов и межсетевые шлюзы, которые позволяют объединять в единую систему несовместимое по интерфейсам и протоколам оборудование.

Программные интерфейсы

Для взаимодействия открытых систем на программном уровне наибольшее распространение получила DCOM -технология фирмы Microsoft , воплощенная в промышленный стандарт OPC (OLE for Process Control ) [Iwanitz ], который пришел на смену устаревшей технологии DDE (Dynamic Data Exchange ). Стандарт ОРС обеспечил возможность применения оборудования различных производителей практически с любыми SCADA , имеющимися на рынке, поскольку большинство из них поддерживает стандарт OPC .

Аналогичная задача может быть решена также с помощью технологии Jini фирмы SUN и CORBA фирмы OMG [Feldmann ], однако воплощение в международный стандарт OPC получила только технология DCOM , ориентированная на Windows -платформы (подробнее см. "OPC-сервер").

Интерфейс пользователя

Интерфейс между SCADA и пользователем в настоящее время выполняется примерно одними и теми же визуальными средствами, которые стали стандартом де-факто: кнопки пуск/стоп, цифровое табло, линейный или радиальный индикатор уровня, цветовая сигнализация, окна с текстовыми сообщениями, окна ввода данных, графики и т.п. Такой интерфейс легко осваивается операторами АСУ ТП.

Программирование контроллеров поддерживается тремя международными стандартами: стандартом МЭК 61131-3 [Lewis ] на языки программирования и стандартами МЭК 61499 [First Edition, 2005-01. - International Electro...">International , Гулько ] и МЭК 61804 на функциональные блоки. Стандарты поддерживаются большинством производителей программного обеспечения. Примером могут быть системы ISaGRAF фирмы ICS Triplex и CoDeSys фирмы 3S . Поддержку открытости обеспечивают также конверторы блоков UML (Unifid Modeling Language [Буч ]) в функциональные блоки стандарта IEC 61499, а также UML в XML (eXtended Markup Language ).

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

Программная совместимость

Важным достоинством SCADA пакетов, повышающим степень их открытости, является связь с программами Microsoft Office (Word, Excel, Access) , которая снижает затраты на обучение персонала и расширяет возможности представления и обработки результатов измерений.

Совместимость баз данных со SCADA обеспечивает широко распространенный язык запросов SQL , соответствующий международному стандарту и поддерживаемый несколькими СУБД (системами управления базами данных), например, Informix, Sybase, Ingres, MS SQL Server . Интерфейс ODBC (Open Data Base Connectivity ) позволяет подключать к одной и той же SCADA различные СУБД, что повышает степень ее открытости.

Обеспечение в некоторых SCADA пакетах возможности программирования на языке Visual Basic , а также возможность встраивания ActiveX и COM объектов сторонних производителей позволяет адаптировать SCADA к аппаратуре, не поддерживающей стандарт ОРС, а также применить принцип повторного использования программного кода, написанного для других приложений.

1.3.3. Достоинства и недостатки

Основным преимуществом систем с открытой архитектурой является низкая стоимость их жизненного цикла [Business ]. Жизненный цикл АСУ ТП состоит из следующих фаз:

  • разработка концепции и эскизное проектирование;
  • проектирование и изготовление системы;
  • монтаж и пуско-наладка;
  • эксплуатация системы;
  • обслуживание;
  • реконфигурация, модернизация, разборка, утилизация.

В работе [White paper version 1.0. - Users ...">Business ] подробно рассмотрена стоимость каждого из перечисленных этапов.

Выгодой от применения открытых систем являются:

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

В работе [Pizzica ] описаны конкретные преимущества, полученные при создании открытой системы для тестирования военного авиационного оборудования:

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

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

Недостатки открытых систем видны не сразу. И все же они имеются:

  • при создании автоматизированной системы на базе открытых решений ответственность за работоспособность системы в целом ложится на системного интегратора, а не на производителя системы. Поэтому при появлении в системе невоспроизводимых отказов некому предъявить претензии, поскольку поставщиков много, а системный интегратор отвечает только за монтаж и пусконаладку системы;
  • универсальность всегда находится в противоречии с простотой. Универсальные протоколы, интерфейсы, сети и программное обеспечение, чтобы быть универсальными, должны быть достаточно сложными, следовательно, дорогими и ненадежными. Хотя снижение надежности, вызванное сложностью, компенсируется повышением надежности благодаря большому тиражу и, следовательно, продолжением отладки после начала продаж;
  • эффект снижения надежности программного обеспечения, части которого пишутся разными производителями. Когда ПО пишется внутри одной фирмы, можно предвидеть почти все ситуации, которые могут возникнуть на границе между ПО и пользователем или аппаратурой. Если же в этом участвуют несколько разных команд в разных фирмах, между которыми нет взаимодействия, то становится непонятно, кто отвечает за надежность всего комплекса. Кроме того, с ростом числа программистов, участвующих в создании ПО, по законам статистики увеличивается вероятность того, что появится хотя бы один программист, не умеющий писать надежные программы. А этого достаточно, чтобы сделать всю систему ненадежной. Надежность и безопасность открытых систем остаются темами, требующими решения [Wang ];
  • иногда к признакам открытости относят открытость исходных кодов. Однако наличие открытых кодов снижает надежность программной системы, поскольку нарушается принцип инкапсуляции, необходимость которого обоснована в идеологии объектно-ориентированного программирования;
  • как и любая стандартизация, открытость накладывает ограничения на диапазон возможных технических решений, затрудняя творчество и снижая вероятность появления новых и плодотворных технических решений.

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

1.4. Заключение к главе "Архитектура автоматизированных систем"

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

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

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

Обзор публикаций

В работе [Basso ] описана хорошо опробованная технология для управления в реальном времени через интернет на основе Linux -сервера. Компоненты системы, находящиеся на сервере, предоставляют свои свойства и методы клиентам через интернет, используя удаленный вызов процедур и язык XML . В [Groza ] предложена архитектура распределенной системы управления, основанная на интернете и Java . В [Kapsalis , ]. В предложена открытая архитектура интеллектуального датчика, с идеологией "Plug&Play", основанная на интернет-технологии. Такой датчик может работать с любой аппаратно- программной платформой. В [Neag ] описана открытая архитектура коммерческой системы автоматизированного тестирования и диагностики сложной аппаратуры. Система способна к расширению путем применения аппаратуры других производителей: блоков диагностики, оборудования для выполнения тестов, оборудования для отображения информации, систем накопления результатов тестирования и др. В работе [Xia ] сформулированы требования к открытой модульной архитектуре распределенной системы автоматизации, использующей стандарт IEC 61499 на функциональные блоки для обеспечения интероперабельности подсистем.

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

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

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

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

Требование модульности вытекает из требования возможности замены части системы (т. е. модуля) аналогичными изделиями других производителей. Для этого система должна состоять из модулей.

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

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

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

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

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

Разновидностью и предельным случаем открытых систем являются системы, удовлетворяющие идеологии "Plug&Play" ("подключи - и играй"), когда вообще не требуется усилий для конфигурирования или настройки модулей после их подключения или замены на модули других производителей. Идеология "Plug&Play" существенно снижает требования к квалификации системных интеграторов, сокращает срок ввода системы в эксплуатацию, а также издержки потребителей на техническую поддержку и эксплуатацию.

СТАНДАРТИЗАЦИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

ОСНОВЫ ПОСТРОЕНИЯ СИСТЕМЫ СТАНДАРТОВ ИТ

Понятие открытых систем

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

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

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

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

Организационные структуры, обеспечивающие функционирова­ние и развитие единого информационного пространства: поиск, сбор, обработку, хранение, защиту и передачу информации;

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

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

Разнородность программируемых сред, реализуемых в конкретных вычислительных устройствах и системах, с точки зрения многообра­зия операционных систем, различия в разрядности и прочих особен­ностей привели к созданию программных интерфейсов. Разнородность физических и программных интерфейсов в системе «пользователь - компьютерное устройство - программное обеспечение» требовала по­стоянного согласования программно-аппаратного обеспечения и пе­реобучения кадров.

История концепции открытых систем начинается с того момента, когда возникла проблема переносимости (мобильности) программ и данных между компьютерами с различной архитектурой. Одним из первых шагов в этом направлении, оказавшим влияние на развитие отечественной вычислительной техники, явилось создание компью­теров серии IBM 360, обладающих единым набором команд и способ­ных работать с одной и той же операционной системой. Корпорация «IBM», кроме того, предоставляла лицензии на свою ОС пользовате­лям, которые предпочли купить компьютеры той же архитектуры у других производителей.

Частичное решение проблемы мобильности для программ обеспе­чили ранние стандарты языков, например ФОРТРАН и КОБОЛ. Языи позволяли создавать переносимые программы, хотя часто ограни­чивали функциональные возможности. Мобильность обеспечивалась также за счет того, что эти стандарты были приняты многими произ­водителями различных платформ. Когда языки программирования приобрели статус стандарта де-факто, их разработкой и сопровожде­нием начали заниматься национальные и международные организа­ции по стандартизации. В результате языки развивались уже незави­симо от своих создателей. Достижение мобильности уже на этом уровне было первым примером истинных возможностей открытых систем.

Следующий этап в развитии концепции открытости - вторая по­ловина 1970-х гг. Он связан с областью интерактивной обработки и увеличением объема продуктов, для которых требуется переносимость (пакеты для инженерной графики, системы автоматизации проекти­рования, базы данных, управление распределенными базами данных). Компания «DIGITAL» начала выпуск мини-ЭВМ VAX, работающих под управлением операционной системы VMS. Машины этой серии имели уже 32-разрядную архитектуру, что обеспечило значительную эффективность программного кода и сократило издержки на работу с виртуальной памятью. Программисты получили возможность напря­мую использовать адресное пространство объемом до 4 Гбайт, что прак­тически снимало все ограничения на размеры решаемых задач. Маши­ны этого типа надолго стали стандартной платформой для систем про­ектирования, сбора и обработки данных, управления экспериментом и т.п. Именно они стимулировали создание наиболее мощных САПР, систем управления базами данных и машинной графики, которые широко используются до настоящего времени.

Конец 1970-х гг. характеризуется массовым применением сетевых технологий. Компания «DIGITAL» интенсивно внедряла свою архитек­туру DECnet. Сети, использующие протоколы Интернет (TCP/IP), пер­воначально реализованные Агентством по перспективным исследова­ниям Министерства обороны США (DARPA), начали широко приме­няться для объединения различных систем - как военных, так и академических организаций США. Фирма «IBM» применяла собствен­ную сетевую архитектуру SNA (System Network Architecture), которая стала основой для предложенной Международной организацией по стан­дартизации ISO архитектуры Open Systems Interconnection (OSI).

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

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

Существует достаточное число определений, даваемых различны­ми организациями по стандартизации и отдельными фирмами. Напри­мер, Ассоциация французских пользователей UNIX и открытых сис­тем (AFUU) дает следующее определение: «Открытая система - это система, состоящая из элементов, которые взаимодействуют друг с другом через стандартные интерфейсы».

Производитель средств вычислительной техники - компания Hewlett Packard: «Открытая система - это совокупность разнородных компьютеров, объединенных сетью, которые могут работать как еди­ное интегрированное целое независимо от того, как в них представлена информация, где они расположены, кем они изготовлены, под уп­равлением какой операционной системы они работают».

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

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

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

Реализация открытости осуществляется на основе функциональ­ных стандартов (профилей) в области информационных технологий;

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

Открытые системы предполагают использование унифицирован­ных интерфейсов в процессах взаимодействия в системе «человек - компьютер»;

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

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

Это определение, сформулированное специалистами Комитета IEEE POSIX 1003.0 Института инженеров по электротехнике и элек­тронике (IEEE), унифицирует содержание среды, которую предостав­ляет открытая система для широкого использования. Базовым в этом определении является термин «открытая спецификация», имеющий следующее.толкование: «это общедоступная спецификация, которая поддерживается открытым, гласным, согласительным процессом, на­правленным на постоянную адаптацию новой технологии, и которая соответствует стандартам». Таким образом, под открытыми система­ми следует понимать системы, обладающие стандартизованными ин­терфейсами. Решение проблемы открытости систем основывается на стандартизации интерфейсов систем и протоколов взаимодействия между их компонентами.

В качестве примеров использования технологии открытых систем можно привести технологии фирм «Intel» Plug&Play и USB, а также операционные системы UNIX и (частично) ее основного конкурента - Windows NT. Многие новые продукты сразу разрабатываются в соот­ветствии с требованиями открытых систем, примером тому может слу­жить широко используемый в настоящее время язык программирова­ния Javaфирмы «Sun Microsystems».

Общие свойства открытых информационных систем можно сфор­мулировать следующим образом:

взаимодействие/интероперабелъностъ - способность к взаимо­действию с другими прикладными системами на локальных и (или) удаленных платформах (технические средства, на которых реализова­на информационная система, объединяются сетью или сетями различ­ного уровня - от локальной до глобальной);

стандартизуемостъ - ИС проектируются и разрабатываются на основе согласованных международных стандартов и предложений, реализация открытости осуществляется на базе функциональных стан­дартов (профилей) в области информационных технологий;

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

мобильность/переносимость - обеспечение возможности переноса прикладных программ и данных при модернизации или замене аппа­ратных платформ ИС и возможности работы с ними специалистов пользующихся ИТ, без их специальной переподготовки при измене­ниях ИС;

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

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

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

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

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

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

Трансформация унаследованных систем. Практически любая систе­ма после создания и внедрения противодействует изменениям и имеет тенденцию быстрого превращения в бремя организации. Унаследован­ные системы (Legacy Systems), построенные на «уходящих» техноло­гиях, архитектурах, платформах, а также программное и информаци­онное обеспечение, при проектировании которых не были предусмот­рены нужные меры для их постепенного перерастания в новые системы, требуют перестройки (Legacy Transformation) в соответствии с новы­ми требованиями бизнес-процессов и технологий. В процессе транс­формации необходимо, чтобы новые модули системы и оставшиеся компоненты унаследованных систем сохраняли способность к взаимо­действию.

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

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

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

Таким образом, основной принцип формирования открытых сис­тем состоит в создании среды, включающей в себя программные и ап­паратурные средства, службы связи, интерфейсы, форматы данных и протоколы. Такая среда в основе имеет развивающиеся доступные и общепризнанные стандарты и обеспечивает значительную степень вза­имодействия (Inter-operability), переносимости (Portability) и масш­табирования (Scalability) приложений и данных.

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

Принципы создания и использования открытых систем применя­ются в настоящее время при построении большинства классов систем:вычислительных, информационных, телекоммуникационных, систем управления в реальном масштабе времени, встроенных микропроцес­сорных систем. В условиях широкого использования интегрирован­ных вычислительно-телекоммуникационных систем принципы откры­тости составляют основу технологии интеграции, В развитии и при­менении открытых систем заинтересованы все участники процесса информатизации: пользователи, проектировщики систем и системные интеграторы, производители технических и программных средств вы­числительной техники и телекоммуникации. В частности, по встроен­ным микропроцессорным системам (МПС) в рамках программы ESPRITсуществует проект OMI (Open Microprocessor Initiative), на­правленный на создание коллективной пользовательской библиотеки МПС в соответствии с принципами открытых систем.

В условиях перехода к информационному обществу, когда государ­ственное управление и большинство секторов экономики становятся активными потребителями информационных технологий, а сектор производителей средств и услуг информационных технологий непре­рывно растет, проблема развития и применения открытых систем со­ставляет для каждой страны национальную проблему. Так, админист­рация Клинтона еще в 1993 г. объявила о программе создания Нацио­нальной информационной инфраструктуры на принципах открытых систем (NationalInformation Infrastructure Initiative), вкладывала в эту программу большие деньги и содействовала инвестициям со стороны частного сектора. Совет Европы в 1994 г. в своих рекомендациях о пу­тях перехода к информационному обществу (Bangemann Report) под­черкнул, что стандарты открытых систем должны играть важнейшую роль при создании информационной инфраструктуры общества. Ве­дется работа по созданию глобальной информационной инфраструк­туры, также основанной на принципах открытых систем.

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


Похожая информация.


Классификация по степени распределенности

Открытая система - это система, состоящая из компонентов, которые взаимодействуют друг с другом через стандартные интерфейсы.

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

Свойства открытых систем:

Расширяемость/ масштабируемость;

Мобильность (переносимость) - простота переноса информационной системы на любую аппаратно-программную платформу, соответствующую стандартам;

Интероперабельность (способность к взаимодействию с другими системами);

Дружественность к пользователю, в том числе легкая управляемость.

Подход открытых систем обеспечивает преимущества для разного рода ИТ-специалистов. Для пользователя (заказчика) открытые системы обеспечивают:

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

Освобождение от зависимости от одного поставщика аппаратных или программных средств, возможность выбора продуктов из предложенных на рынке при условии соблюдения поставщиком соответствующих стандартов открытых систем;

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

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

7.4.1.1. Модель взаимосвязи открытых систем (ISO/OSI)

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

Интерфейс - набор соглашений, принятый двумя (или более) взаимодействующими элементами одной системы.

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


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

Модель состоит из семи уровней (рис. 1.).

Статьи по теме: