Соорганизация элементов информационного пространства проектирования алгоритмов и программных систем

А.И. Разумовский,

с.н.с., к.т.н., alr@ipu.rssi.ru

ИПУ РАН, г. Москва

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

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

Интеллектуализация информационного пространства

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

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

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

Иллюстрировать соорганизацию элементов информационного пространства алгоритма можно следующим образом. На рисунке 1 показан традиционный способ восприятии и контроля на его основе над структурной зависимостью между алгоритмическими элементами АЭ1 и АЭ2. Естественно интеллектуальный интерфейс следит за существующей связью между указанными элементами. Результатами контроля здесь будут параметры общие для всего комплекса элементов АЭ1 и АЭ2 плюс связи между ними.

 

рис. 1

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

 

рис.2

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

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

Эксперимент

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

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

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

Рассмотрим структуру алгоритма чтения данных с последующей перекодировкой и помещением заданных примитивов файла в базу данных (БД). Структура указанного алгоритма весьма тривиальна (рис. 3). Однако, нечасто случается,  что разработчик сосредотачивает внимание на несмежных элементах структуры алгоритма, ибо фундаментальное правило формального соединения «вход-выход», на основании которого и производится синтез алгоритмических единиц в целое, фактически локализует взаимовлияние между элементами пространства алгоритма., сводя на нет воздействие несмежных элементов друг на друга. Иначе говоря, прямой связи «Файл» <-> «БД» (рис. 3) не существует, и она, соответственно, выпадает из рассмотрения проектировщика. В противоположность этому, стратегия соорганизации объявляет произвольную связь между элементами имеющей возможность быть. Тогда приобретает значение раздельный анализ возможных парных связей, например: «Файл» <-> «БД», «Файл» <-> «Конвертер», «Файл <-> Потери».

 

рис. 3

Анализ пары «Файл» <-> «БД» вне схемы алгоритмического взаимодействия позволяет получить (предположить) идею проектирования дополнительного элемента «Запись в файл». Действительно, оказывается, что в структуре алгоритма, изображенной на рисунке 3, комплекс  «Файл <->  Конвертер <-> БД» аналитически воспринимается в сознании следующим образом: чтение файла, преобразование информации чтения, помещение данных в БД. Традиционное восприятие алгоритма через призму последовательности определенных предшествующим шагом действий не позволяет, следовательно, обнаружить и реализовать алгоритмический элемент, находящийся вне аналитического русла структуры алгоритма.

Таким образом, стратегия соорганизации элементов алгоритма способствует нахождению важного дополнительного функционального элемента, просто по факту, например, формирования ассоциативного множества к наименованию «Файл». Интересно и важно отметить, что предложенная в виде дополнительного элемента алгоритма функция «Запись в файл» выглядит своеобразным «зеркальным» отражением традиционного осмысления знака «Файл» как «чтение файла» в  комплексе  «Файл <->  Конвертер <-> БД».

Смысл функции «Запись в файл» кроме наглядного, может быть подобно описанному выше расширен ассоциативным образом. В результате, обнаруживается чрезвычайно емкая в плане контроля идея реализации функции проверки качества данных «БД». Обратим внимание на то, что появление этого алгоритмического элемента диктуется необходимостью установления соответствия между примитивами данных файла и соответствующими им элементами «БД». Подобное соответствие обеспечит согласование исходных данных D и дважды преобразованных D`: при чтении с последующей конвертацией, а также при записи (или при конвертации и дельнейшей записи) данных в файл (рис.4).

рис. 4

Теперь можно непосредственно сравнить D и D` и по результату сделанного сравнения определить необходимость внесения исправлений в «Конвертер», а также расставить приоритеты важности внутренних элементов файла. Что это дает? Во-первых, возможность обработки единичной обособленной информации – то есть примитивов данных, - особенно при исследовании недокументированных форматов. Во-вторых, позволяет производить учет результата выполнения алгоритма на раннем этапе его создания, а не постфактум - при отладке и тестировании.

И в первом и во втором случае учет  обособленных несвязанных с прочими элементами данных информационного пространства позволит сосредоточить внимание разработчика на внутренних свойствах изучаемой функциональности за счет оценки результатов выполнения локальной программы, выделенной из контекста всего алгоритма ее функционирования. При восприятии, такой автономный элемент – элементарная операция или выделенный примитив данных определенного формата - оказывается лишенным свойств взаимозависимости или, говоря иначе, ограничений синтеза. Вместо этого, сознание проектировщика оказывается в значительно более выгодных условиях, благодаря обретению возможности формирования любых произвольных идей и средств их воплощения, тогда как прежде ограничивалось пределами формально и традиционно обусловленных шаблонов принятия решения. Кроме того, устанавливается возможность достраивать структуру алгоритма или программной системы произвольными дополнениями, которые, изначально существуя вне контекста информационного пространства, не станут выбраковываться (или наоборот - стабилизироваться) сразу, но напротив, окажутся своеобразными образцами «чистого мышления», которое не замкнуто в формальный объем абстракции, чтобы, как писал С.Кьеркегор: «стремясь мыслить какую-либо определенность, соединить ее с идеальностью мышления» [2]. Или, концептуально: «проблема существования и существующего никогда собственно не ставится на языке абстракции и еще труднее обнаруживается» [2].

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

 

 

рис. 5

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

Подытоживая, обратим внимание на последовательность смены восприятий при соорганизации.

1). Первоначальное (традиционное) восприятие структуры алгоритма.

2). Расщепление восприятия на основе семантики наблюдаемого объекта: файл- чтение – запись.

3). Расширение восприятия на основе введения новых связей между имеющимися элементами.

4).Расширение восприятия, основанные на интуитивно- чувственных предположениях о введении дополнений.

Экспериментальные объекты

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

Заключение

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

·           возможности «увидеть» новый вариант алгоритмического расширения;

·           возможности упрощения изменения структуры алгоритма;

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

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

Литература

1.   Разумовский А.И. Разработка и реализация стратегии использования Контекстной Среды в проектировании и управлении информационными структурами, Труды 9-ой международной конференции "Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта" (CAD/CAM/PDM - 2009). ISBN 978-5-91450-041-9 (http://lab18.ipu.rssi.ru/projects/conf2009/3/21..htm)

2.   Керкегор С. Философские крохи / Пер. Д.А. Лунгиной под ред. В.Л. Махлина.— М.: Институт философии, теологии и истории св. Фомы, 2009. — 192 с.

статистика