Система открыта, но что-то мешает. Понятие открытых систем Средства достижения открытости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Открытой называется модульная система, которая допускает замену любого модуля на аналогичный модуль другого производителя, имеющийся в свободной продаже по конкурентоспособным ценам, а интеграция системы с другими системами (в том числе с пользователем) выполняется без преодоления чрезмерных проблем. Понятие открытости обсуждается на веб-сайтах 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, которые продаются как единый пакет, но имеющий градации в зависимости от количества тегов.

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

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

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

Итак, предметом синергетики являются сложные самоорганизующиеся системы. Один из основоположников синергетики Г. Хакен определяет понятие самоорганизующейся системы следующим образом:

Хакен Г. Информация и самоорганизация. Макроскопический подход к сложным системам. М., 1991. С. 140

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

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

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

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

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

Вместе с тем уже во второй половине XIX в., и особенно в XX в., биология, прежде всего теория эволюции Дарвина, убедительно показала, что эволюция Вселенной не приводит к снижению уровня организации и обеднению разнообразия форм материи. Скорее, наоборот. История и эволюция Вселенной развивают ее от простого к сложному, от низших форм организации к высшим, от менее организованного к более организованному. Иначе говоря, старея, Вселенная обретает все более сложную организацию. Попытки согласовать второе начало термодинамики с выводами биологических и социальных наук долгое время были безуспешными. Классическая термодинамика не могла описывать закономерности открытых систем. Такая возможность появилась только с переходом естествознания к изучению открытых систем. Николис Г., Пригожин И. Познание сложного. М., 1990 С. 293

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

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

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

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

Открытость систем и целостность мира

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

Тарасенко Ф.П. Прикладной системный анализ (наука и искусство решения проблем): Учебник. - Томск; Издательство Томского университета, 2004. ISBN 5-7511-1838-3

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

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

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

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

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

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

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

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

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

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

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