Информационно сложные задачи и пути их решения
Проблемы традиционных технологий (реляционных баз данных)
Требования к информационной технологии
«СМАРТ» — современная многофункциональная адаптивная развиваемая технология
Широкое распространение информационных технологий, проникновение их в различные области деятельности человека, успех и эффективность их применения привели к тому, что решение практически любой задачи невозможно без использования вычислительной техники. Однако наряду со все более широким распространением информационных систем (ИС) возросли и требования к ним. Если раньше автоматизировалась конкретная функция при помощи соответствующего АРМ (автоматизированного рабочего места), то сейчас необходима уже комплексная автоматизация всех смежных функций. Это привело к усложнению конечной задачи. Не осознавая возникающих при этом проблем, невозможно качественно решить задачу, а самое главное — обеспечить длительный жизненный цикл решения.
Проблемой решения информационно сложных задач на протяжении ряда лет занимается специальное подразделение ОАО «Научно-исследовательский центр электронной вычислительной техники (ОАО «НИЦЭВТ»). В настоящей статье раскрываются суть и преимущества технологии решения этой проблемы, разработанной на предприятии.
Информационно сложные задачи
Информационная сложность задачи имеет два аспекта: количественный и качественный. Количественная сложность зависит от объема обрабатываемой информации и ее распределенности. Решение задач, характеризующихся количественной сложностью, как правило, является технической проблемой, которая в настоящее время имеет различные решения, позволяющие эффективно обрабатывать большие объемы информации. Для этого используются высокопроизводительные компьютеры, оптимизируются алгоритмы доступа и обработки информации, а также распараллеливаются вычисления для их одновременного выполнения.
Качественная сложность определяется составом и характером информации, необходимой для успешного решения задачи. Качественную сложность задачи определяют следующие свойства предметной области (ПО):
- многофункциональность — необходимость одновременного решения нескольких задач на одних и тех же данных (например, договора, бухгалтерия, кадры, склады и т.п.). Решение многофункциональной задачи требует создания единого информационного пространства, обеспечивающего непротиворечивое представление данных, необходимых для каждой задачи. Также нужно обеспечивать согласованность действий каждой подсистемы, которая должна учитывать требования других подсистем. Построение единой и непротиворечивой схемы данных, объединяющей всю информацию для решения различных задач, является сверхсложной задачей, которая решается, как правило, экспериментальным путем во время опытной эксплуатации ИС;
- многообъектность — наличие в ПО множества разнотипных объектов, образующих различные классификации, существенно усложняет задачу. Чем больше разнотипных объектов в системе, тем сложнее структура представления информации о них и алгоритмы их обработки. Как правило, наличие множества типов объектов ведет к разнообразным связям между ними, что тоже существенно усложняет задачу. Сложность задачи растет экспоненциально в зависимости от количества типов объектов;
- многосвязанность — наличие логических связей между разными объектами как одного, так и различных типов. Присутствие связи между объектами означает, что состояния объектов взаимозависимы и должны согласовываться при изменении какого-либо объекта. Изменение одного объекта порождает изменение второго объекта, который, в свою очередь, может менять состояние третьего объекта и т.д. по цепочке связанных объектов. При наличии нескольких связей у одного объекта задача еще больше усложняется и требуется каскадная синхронизация состояний всех связанных объектов;
- многокритериальность — множество критериев учета информации требует от ИС мощных аналитических механизмов, позволяющих получать информацию по различным сочетаниям критериев. Для обобщенного анализа разных критериев необходимо вводить в ИС разного типа классификации и иерархии и обеспечивать их поддержку на уровне аналитических механизмов;
- изменчивость — постоянные изменения в предметной области и в требованиях к решению задачи приводят к необходимости построения адаптивной и развиваемой ИС, что во много раз сложнее, чем решение той же задачи при фиксированных условиях. Изменения в структурах хранения данных автоматически вызывают необходимость корректировки прикладных алгоритмов.
Все вышеперечисленные свойства взаимосвязаны, и, как правило, информационно сложная задача обладает одновременно несколькими из них. Современные информационные технологии не позволяют эффективно решать сложные информационные задачи.
Проблемы традиционных технологий (реляционных баз данных)
В настоящее время необходимость перехода от отдельных независимых систем, используемых на предприятии, к единой информационной системе, охватывающей все аспекты его деятельности, ни у кого не вызывает сомнения. Однако построение таких систем представляет собой сложную задачу. Одним из существенных факторов, влияющих на выполнение задачи, является адекватность инструмента, используемого для ее решения. Например, решать интегральные уравнения с помощью простого калькулятора с базовым набором арифметических операций несравнимо сложнее, чем посредством математического пакета. При построении информационной системы таким «калькулятором» являются базы данных (БД), которые обеспечивают только базовые функции по манипулированию информацией. Сейчас существуют различные базы данных, построенные по разным принципам. Основную массу БД составляют реляционные БД и их производные — постреляционные БД. Несмотря на развитие БД, принципы, изначально заложенные в них, определяют саму концепцию БД и имеют ряд принципиальных ограничений (в той или иной мере эти ограничения свойственны и нереляционным БД):
- «бессмысленность» данных — данные, хранящиеся в БД, не интерпретируются средствами самой БД. Интерпретация «смысла» данных в БД лежит либо непосредственно на пользователе, либо на прикладном алгоритме. Для БД содержание конкретного поля в таблице определяется его типом данных: числовое поле, поле даты, строка и т.д., но, что конкретно определяется этими значениями, БД не известно. Например, поле «дата рождения» для БД представляется как поле даты, которое может принимать значения в определенном диапазоне (если он задан), но то, что эта дата — «дата рождения», может сказать только сам пользователь, проанализировав структуру БД, или прикладная программа, где эта интерпретация «зашита» в алгоритме программы. Эта проблема обостряется, когда речь идет о большом количестве разнотипных объектов. Для извлечения необходимой информации из такого массива данных нельзя заранее предусмотреть все запросы, какие бы настройки они ни имели, поэтому для извлечения произвольной информации пользователю в конечном счете предоставляется на откуп язык SQL для формирования собственных запросов к данным. Пользователь при этом должен обладать знаниями как о структуре данных, так и об их интерпретации. Формулируя некоторую программу на этом языке, он закладывает схему обработки, а полученный результат интерпретирует самостоятельно. Это является принципиальной проблемой при построении сложных систем, содержащих разнородную, сложно структурированную информацию.
- Отсутствие в БД средств интерпретации данных не позволяет интегрировать в одну систему разные базы, которые были спроектированы независимо. Прикладные программы, реализованные для интерпретации соответствующих данных, не могут интерпретировать «чужие» данные. Как правило, объединение двух баз данных является очень сложной задачей, решение которой сводится к перепроектированию базы заново и построению третьего интерпретатора, который учитывал бы схемы первого и второго;
- слабые выразительные возможности — если в системе невозможно в явном виде отобразить ту или иную информацию, то это приводит к ее потере либо искажению. Потеря информации влечет за собой построение «упрощенной» модели, отображающей не саму задачу, а «взгляд» на решение задачи с позиции текущих требований.
- В базах данных для представления информации используются следующие конструкции: отношение (таблица), кортеж (строка таблицы), атрибут (столбец таблицы). С их помощью возможно построение только «плоских» (одноуровневых) взаимосвязей. Для построения сложных взаимосвязей в БД применяются ключевые атрибуты, которые обеспечивают только физическую взаимосвязь между данными, но не отражают «семантику» данной связи. В БД также отсутствуют средства для явного отображения таких категорий, как существование, общее и частное, часть и целое, форма и содержание и др. Еще одним важным ограничением баз данных является отсутствие механизмов абстрагирования, которые позволили бы решать задачу на уровне абстрактных понятий, не зависящих от их конкретного представления и наполнения;
- жесткость структур хранения информации — БД предназначены для массового хранения типовых сущностей. Сущность отображается в БД в виде таблиц, имеющих фиксированную структуру, причем все экземпляры сущности имеют один и тот же перечень атрибутов. Если для некоторого экземпляра сущности необходимо указать дополнительные свойства, то приходится либо перепроектировать соответствующую таблицу и включить это свойство для всех экземпляров, либо выделить новый класс сущностей с соответствующими таблицами.
Другой проблемой является изменение трактовки информации, когда изначально некоторое понятие трактовалось как простой атрибут, а при изменении требований необходимо рассматривать его уже как структуру. Изменение структур данных приводит к изменению интерпретирующей программы.
Требования к информационной технологии
Для решения вышеизложенных проблем в прикладных программах необходимо реализовать соответствующие механизмы, причем предлагаемые решения, как правило, носят прикладной характер и зависят от постановки задачи.
Рассмотренные проблемы БД обусловливают сложность решения следующих задач:
- построение единого информационного пространства (ЕИП) — это обязательное требование для информационных систем. Только на основании анализа всей информации можно принимать объективные решения, а не угадывать их. Основной сложностью построения единого информационного пространства является согласованность всех данных. Система должна обеспечивать возможность совместного рассмотрения и анализа любых данных. В БД согласованность достигается путем строгого соблюдения нормальных форм (на практике этого редко удается достичь) и большим количеством связующих ключей. При модификации такой структуры, как правило, необходимо заново согласовывать все связи.
Построение единого информационного пространства влечет за собой проблему анализа информации и выявления закономерностей; - решение сильносвязанных и сложноструктурированных задач — отсутствие в БД развитых средств по описанию информации очень ограничивает возможности решения сильносвязанных и сложноструктурированных задач. В первую очередь это связано с неадекватностью представления сложной информации в БД: при отображении информации теряется существенная часть знаний, сохраняются только фактические данные. Еще одной проблемой является сложность согласования информации. Поскольку все связи должны быть указаны в явном виде и поддержаны соответствующей программой интерпретации, изменение или добавление новой информации требует больших временных и человеческих ресурсов;
- адаптация под конкретные нужды пользователя — все системы управления обладают той или иной степенью адаптации к конкретным условиям применения. Однако независимо от возможностей адаптации в систему заранее закладываются собственная методология решения задачи, своя учетная политика и т.д. Таким образом, адаптирование системы может осуществляться только в рамках принятой методологии. Если требуются изменения в больших объемах, чем допускается методологией, то необходимо наличие в системе средств по ее развитию, в противном случае получится жесткая система. Существенные изменения также приводят к необходимости перестройки единого информационного пространства;
- развитие системы в процессе эксплуатации. Предприятие — это организм. В развитии предприятия — его жизнь. Развитие невозможно без изменений. Одним из основных свойств системы должна быть ее развиваемость, то есть возможность как модифицировать существующие функции системы, так и добавлять новые. При этом важными факторами являются время, необходимое для проведения соответствующих изменений, и стоимость этих изменений. Как показывает практика, основные затраты по эксплуатации системы приходятся не на закупку и внедрение, а на ее сопровождение. Поэтому чем меньше затраты на изменение системы, тем выгоднее система для пользователя. Идеальным вариантом является возможность самостоятельно производить необходимые изменения или, по крайней мере, большинство повседневных изменений должно осуществляться пользователем;
- анализ информации и выявление закономерностей — построение единой информационной системы в первую очередь связано с необходимостью совместного анализа всей существующей информации. Поэтому качество анализа информации, а также оперативность получения результата являются ключевыми характеристиками ИС. Запросы, задаваемые системе, можно разделить на две группы: периодические и уникальные. Периодические запросы заранее известны, и для них существуют специальные интерфейсы, которые позволяют параметрически настраивать соответствующий запрос. Уникальный запрос является насущной потребностью и, как правило, требует оперативного ответа. Он заранее не известен и может затрагивать любые аспекты информации. Для построения таких запросов предлагается использовать SQL. Даже при наличии визуальных средств построения SQL пользователь должен знать структуру БД и принципы ее построения (непонимание принципов SQL, как правило, приводит к получению «не совсем того ответа»). Обычно пользователь не может сам сформулировать такой вопрос, и ему приходится прибегать к услугам информационной службы. Это существенно снижает оперативность получения результата, так как при формулировании запроса срабатывает эффект «испорченного телефона».
Выявление закономерностей требует большого количества уникальных запросов, причем полученный ответ может порождать новые запросы. Выявление закономерностей нельзя переложить на информационную службу, поэтому пользователь вынужден быть специалистом не только в своей области, но и в отношении БД.
«СМАРТ» — современная многофункциональная адаптивная развиваемая технология
Специально для решения информационно сложных задач нами разработана новая информационная технология — «СМАРТ». В ее основе лежит база знаний, которая обеспечивает следующие основные свойства технологии:
- отображение в базе знаний предметной области (ПО) в виде целостной семантической модели ПО — единого информационного пространства, содержащего как фактическую информацию, так и метаинформацию, необходимую для решения задачи. Семантическая модель ПО является не просто местом хранения всей необходимой информации, но и обеспечивает семантическое структурирование этой информации, что позволяет правильно отображать в модели сущности ПО, что, в свою очередь, дает независимость описаний от прикладных алгоритмов;
- наличие языка описания знаний, обеспечивающего семантически корректное построение модели ПО и ее простое расширение при изменении требований к задаче. Высокие выразительные возможности языка описания знаний обеспечивают адекватное представление в модели сложных сущностей, их взаимосвязей и различных нюансов, необходимых для решения задачи;
- полное и адекватное отображение в модели смыслового содержания информации. База знаний обеспечивает формализованное определение всех основных понятий в системе, что позволяет делать логические выводы при поиске необходимой информации, обеспечивая ее целостность и непротиворечивость;
- использование уникального механизма запросов, обеспечивающего для пользователя возможность самостоятельного формирования запросов любой сложности в терминах своей задачи;
- перенос прикладной логики в модель задачи — построение модели ПО существенно упрощает прикладную программу за счет применения декларативного языка описания знаний и высокого уровня абстракции в прикладной программе;
- «браузер» модели ПО — обеспечивает отображение любой информации из модели в виде электронной карточки, обладающей уникальным интерфейсом, который позволяет отобразить информацию независимо от ее содержания и с возможностью редактирования по месту. «Браузер» модели ПО может быть сконфигурирован под любую задачу.
Успешная эксплуатация различных систем, разработанных на основе технологии «СМАРТ», подтверждает эффективность и правильность принятых решений.