Открытость-свойство реальных систем. Система открыта, но что-то мешает Основы построения системы стандартов ит

Работа на тему:

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


Аннотация


Введение

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

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

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

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

1. Мир живого как система систем.

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

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

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

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

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

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

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

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

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

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



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

§ 2.1.Открытость.

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

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

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

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

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

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

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

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


§ 2.2. Неравновесность

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

§ 2.3. Нелинейность.

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

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

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

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

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

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

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

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

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

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



3. Особенности описания сложных систем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В 30-е годы XX в. на первое место в области обыкновенных дифференциальных уравнений встают проблемы качественной теории. Значительное влияние на ее развитие оказывают потребности физики, особенно нелинейной теории колебаний. Физикам Андронову и Мандельштаму принадлежит здесь целый ряд важных математических идей и разработок. Мандельштам первым обратил внимание на необходимость выработки в физике нового "нелинейного мышления". До его работ существовали лишь отдельные частные подходы к анализу отдельных нелинейностей в различных физических задачах. Роль Мандельштама состоит в том, что он отчетливо понял всеобщность нелинейных явлений, сумел увидеть, что возможности линейной теории принципиально ограничены, что за ее пределами лежит огромный круг явлений, требующих разработки новых нелинейных методов анализа.

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

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

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

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

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

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


Заключение

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

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

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

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

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

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

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


Список литературы

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

2. Николис Г., Пригожин И. Познание сложного. М., 1990;

3. Пригожин И., Стенгерс И. Время. Хаос и Квант. М., 1994;

4. Князева Е.Н., Курдюков С.П. Основания синергетики. СПб., 2002;

5. Капица С.П., Курдюмов С.П., Малинецкий Г.Г. Синергетика и прогнозы будущего. М., 1997.



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


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


Пригожин И., Стенгерс И. Время. Хаос и Квант. М., 1994 С. 93


Пригожин И., Стенгерс И. Время. Хаос и Квант. М., 1994 С. 127


Николис Г., Пригожин И. Познание сложного. М., 1990 С. 227

Репетиторство

Нужна помощь по изучению какой-либы темы?

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

Ты балда, Коломб, - скажу по чести. Что касается меня, то я бы лично - я б Америку закрыл, слегка почистил, а потом опять открыл - вторично. В.В. Маяковский "Христофор Коломб" (ПСС в 13-ти т., т. 7, с. 38)

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

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

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

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

Возьмем, к примеру, широкораспространенную операционную систему MS DOS и ее оболочку Windows 3.11, и попытаемся проанализировать, как там поставлено дело в части подключения и отключения приложений. Иначе говоря, очевидным образом расширим толкование открытости системы, включив в него также и легкость перемещения приложения в обоих направлениях: пусть теперь открытая система должна обеспечивать и свободу добавления новых приложений, и свободу исключения существующих. Оказывается, что под таким углом зрения рассматриваемые системы выглядят недостаточно открытыми; более того, дела тут обстоят из рук вон плохо.

Если в организации процедуры добавления (инсталляции) приложения еще можно не разглядеть определенных недоработок, то уж деинсталляция буквально вопиет. Каждый, кому выпало хоть раз искоренять глубоко засевшее в бесчисленных системных файлах (config.sys, autoexec.bat, win.ini, system.ini, ...) приложение, не может без дрожи вспоминать об этих нескольких мучительных часах своего программистского бытия. Обиднее всего, что борьба эта, как правило, обречена на бесславное поражение: обычно так и не удается полностью выявить и изничтожить все крючья, которыми сложное приложение сцепилось с операционной системой.

Проблема эта давно замечена. В результате многие приложения, инсталлируемые в MS Windows, предстают теперь перед взором удивленного пользователя в виде двух иконок: одна для постоянного использования, обслуживающая повседневное обращение к приложению, и другая - одноразовая, для его деинсталляции. Если же специальной процедуры деинсталляции в некотором приложении не предусмотрено, на помощь могут прийти универсальные деинсталляторы - невероятно сложные программы, за создание которых, похоже, вскоре начнут присуждать премии Тьюринга.

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

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

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

Некоторое приближение к описанной схеме можно найти в Windows 95. Что же помешало разработчикам Microsoft с самого начала применить подобное решение? Причин можно назвать несколько, но лишь одна из них представляется достаточно весомой, хотя и далеко не очевидной.

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

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

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

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

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

Оформление табличного решения достаточно очевидно; один из его возможных вариантов, как уже упоминалось, можно найти в Windows 95. Текстовое решение требует ассоциативных конструкций. Две конструкции такого рода уже разбирались в . Для нашего случая потребуется еще одна ассоциативная конструкция, рассредоточенный набор. Подробное его описание содержится в . Здесь же, не вдаваясь в детали и не пытаясь охватить все нюансы отношений между операционной системой и приложениями, ограничимся беглым рассмотрением сравнительно простого, но достаточно показательного примера применения рассредоточенного набора в смежной области, для известной задачи о диагностических сообщениях. Используемая там схема без труда проецируется и на обслуживание приложений.

Рассредоточенный набор

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

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

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

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

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

Рисунок 1.
Рассредоточенный набор.

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

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

Открытость системы программирования

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

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

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

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

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

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

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

Модный термин "масштабируемость", говорящий о потенциале наращивания мощности аппаратуры, почему-то мало кому приходит в голову применить и к программным структурам. Что случилось бы со строительством, если бы все архитекторы работали только над уникальными сооружениями, отказавшись и от типовых проектов, и от типовых строительных блоков?! А в программировании нередко проектируют уникальный, но консервативный зоопарк там, где требуется всего лишь серийный, но масштабируемый коровник или свинарник.

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

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

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

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

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

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

Литература

. Горбунов-Посадов М.М. Безболезненное развитие программы // Открытые системы. - 1996. - # 4(18). - С.65-70.

. Горбунов-Посадов М.М. Конфигурации программ. Рецепты безболезненных изменений. - 2-е изд., испр. и доп. - М.: Малип, 1994. - 272 с.

. Parnas D.L. On the criteria to be used in decomposing systems into modules // Comm.ACM. - 1972. - V.15, # 12. - P.1053-1058.

. Ben-Ari M. Understanding programming languages. - Chichester: John Wiley & Sons, 1996. - 360 p.

Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Институт электро- и радиоинженеров США (IEEE) сформулировал определение так:

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

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

вычислительные средства объединены сетью или сетями различного уровня: от локальной до глобальной, в том числе, с использованием средств телекоммуникации,

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

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

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

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

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

Учитывая приведенные выше характеристические черты, приведем определение понятия открытой системы, данное в рекомендациях IEEE POSIX 1003.0 "Руководство по инфраструктуре POSIX-открытых систем. Свод POSIX-стандартов.":

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

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

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

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

Таким образом, важнейшими свойствами открытой ИВС являются:

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

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

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

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

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

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

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

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

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

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


Top