Научно-исследовательский институт «Ц е н т р п р о г р а м м с и с т е м» Программные продукты и системы НАУЧНО-ПРАКТИЧЕСКОЕ ИЗДАНИЕ № 2 (98), 2012 Главный редактор С.В. ЕМЕЛЬЯНОВ, академик РАН Тверь Вниманию авторов! Международный журнал «Программные продукты и системы» публикует материалы научного и научно-практического характера по новым информационным технологиям, результаты академических и отраслевых исследований в области использования средств вычислительной техники. Практикуется выпуск тематических номеров по искусственному интеллекту, системам автоматизированного проектирования, по технологии разработки программных средств и системам защиты, а также специализированные выпуски, посвященные научным исследованиям и разработкам отдельных вузов, НИИ, научных организаций. Решением Президиума Высшей аттестационной комиссии Министерства образования и науки РФ № 8/13 от 02.03.2012 международный журнал «Программные продукты и системы» внесен в Перечень ведущих рецензируемых научных журналов и изданий, в которых должны быть опубликованы основные научные результаты диссертаций на соискание ученых степеней кандидата и доктора наук. Информация об опубликованных статьях по установленной форме регулярно предоставляется в систему Российского индекса научного цитирования (РИНЦ) и готовится для передачи в международные базы цитирования. Условия публикации К рассмотрению принимаются ранее нигде не опубликованные материалы, соответствующие тематике журнала (специализация 05.13.ХХ – Информатика, вычислительная техника и управление) и отвечающие редакционным требованиям. Работа представляется в электронном виде в формате Word (шрифт Times New Roman, размер 11 пунктов с полуторным межстрочным интервалом). При обилии сложных формул обязательно наличие статьи и в формате pdf. Формулы должны быть набраны в редакторе формул Word (Microsoft Equation или MathType). Объем статьи вместе с иллюстрациями – не менее 10 000 знаков. Просьба не присылать цветные, тонированные и не подлежащие дальнейшему редактированию средствами Word рисунки, а также отсканированные формулы и тексты. Заголовок должен быть информативным; сокращения, а также терминологию узкой тематики желательно в нем не использовать. Количество авторов на одну статью – не более 4, количество статей одного автора в номере, включая соавторство, – не более 2. Список литературы (оформленный в соответствии с ГОСТ Р 7.05–2008), наличие которого обязательно, должен включать не менее 3 пунктов. Необходимы также аннотация (не менее 200 слов), ключевые слова (7–10) и индекс УДК. Название статьи, аннотация и ключевые слова должны быть переведены на английский язык, а фамилии авторов, названия организаций, пристатейные списки литературы – транслитерированы. Вместе со статьей следует прислать отзыв-рекомендацию в произвольной форме, экспертное заключение, лицензионное соглашение, а также сведения об авторах: фамилия, имя, отчество, наименование организации, должность, ученые степень и звание (если есть), контактный телефон, электронный адрес, почтовый адрес для отправки бесплатного авторского экземпляра. Порядок рецензирования Все статьи, поступающие в редакцию (соответствующие тематике и оформленные согласно требованиям к публикации), подлежат обязательному рецензированию в течение месяца с момента поступления. В редакции есть устоявшийся коллектив рецензентов, среди которых члены международной редколлегии журнала, эксперты из числа крупных специалистов в области информатики и вычислительной техники ведущих вузов страны, а также ученые и специалисты НИИ «Центрпрограммсистем» (г. Тверь). Рецензирование проводится конфиденциально. Автору статьи предоставляется возможность ознакомиться с текстом рецензии. При необходимости статья отправляется на доработку. Рецензии обсуждаются на заседаниях редакционной коллегии, которая проводится один раз в месяц в НИИ «Центрпрограммсистем» или в Главной редакции международного журнала «Проблемы теории и практики управления» (г. Москва). Решение о целесообразности опубликования статьи после рецензирования принимается редакционным советом. Материалы, одобренные редакционным советом, публикуются бесплатно в течение года с момента одобрения, а статьи, отправленные на доработку, – с момента поступления после доработки. Если принятая к публикации статья, по мнению автора, является срочной, редакция вправе опубликовать ее в текущем номере на коммерческой основе. Программные продукты и системы № 2, 2012 г. УДК 519.816 МЕХАНИЗМЫ УПРАВЛЕНИЯ ЭВОЛЮЦИЕЙ ОРГАНИЗАЦИОННО-ТЕХНОЛОГИЧЕСКОЙ СИСТЕМЫ Г.П. Виноградов, к.т.н.; Б.В. Палюх, д.т.н. (Тверской государственный технический университет, wgp272ng@mail.ru) Сформулирована задача синтеза механизма управления эволюцией организационно-технологической системы, использующей способность человека к самоорганизации. Разработана модель функционирования системы, содержащей агентов, способных к самоорганизации. Описано поведение самоорганизующихся агентов, приведен алгоритм построения ими множества предпочтительных состояний. Ключевые слова: интеллектуальные организации, нечеткий вывод, агент, целеустремленное состояние, самоорганизация, эволюция. Системный подход к управлению интеллектуальными организациями с неоднородными агентами использует два их основных креативных свойства: способность человека к самоорганизации (самосовершенствованию) без участия внешних сил (активная форма адаптации, когда для эффективного поведения системы в будущем она сама изменяет среду) и способность к пассивной форме адаптации (приспособление к изменениям во внешней среде для сохранения эффективности в ней). Организация как центр действий и процессов, ориентированных на цели, объединяет эти два вида потенциала своего развития. Потенциал адаптации реализуется с помощью механизмов функционирования, основанных на централизации. Либеральные механизмы, создавая соответствующий климат, способствуют раскрытию творческих способностей субъекта, реализуют его способность к самоорганизации. При централизованном механизме процедуры планирования должны быть направлены на постепенное обнаружение резервов используемого способа производства путем сочетания их с процедурами исследования объекта управления и активного экспериментирования. Агент, зная цель этих процедур, может занижать свою эффективность в сравнении с имеющимся потенциалом, чтобы увеличить или сохранить свои выгоды в будущем. Это связано со сложным характером соотношения параметров процедур планирования, стимулирования и субъективными оценками агентом текущей и будущих ситуаций целеустремленного состояния. Нарушение этого соотношения приводит к регрессу организации. Либеральные механизмы, использующие свойства агента к самоорганизации, будут эффективными только в случае направленности деятельности агентов на общую цель, достижение которой должно гарантировать им получение ожидаемых состояний. Если развитие зависит от инноваций, изобретений и творчества, эффективность организации в еще большей степени обусловлена поведением агентов. В информационном обществе продукт интеллектуального труда неотделим от работника [1]. Эволюционный менеджмент будет эффективным, если обеспечивает полную реализацию способностей человека. Для эффективного функционирования всех своих членов при достижении определенной цели организация путем обмена овладевает их человеческим капиталом. И в первом, и во втором случаях успех определяется тем, как центр понимает принципы и процедуры формирования у агентов представлений о свойствах ситуации выбора и правил выбора ими решений. В обоих вариантах это связано с анализом обработки информации человеком. Постановка задачи управления эволюцией организационно-технологической системы Пусть организационная система состоит из центра и n агентов, обладающих активностью, автономностью, креативностью. Каждый агент управляет каким-либо технологическим узлом. Возможности k-го агента по выпуску продукции описываются технологическим множеством − областью Xk в пространстве из nk измерений: любой допустимый план xk={xij, j= 1, nk } k-го агента должен принадлежать области Xk: xk∈Xk, k= 1, n . (1) План всей активной системы будет описываться вектором x={xk, k= 1, n} , имеющим размерность n ∑n k k =1 n = N . Тогда очевидно, что x ∈ X = ∏ X k , поk =1 скольку подвекторы x1, x2, …, xn принадлежат соответствующим множествам локальных агентов. Допустимый план x должен удовлетворять не только локальным ограничениям, но и ряду глобальных ограничений вида G(x)≥b, где G ( x) = {gi ( x), i = 1, L}, b = {bi , i = 1, L} . (2) Суть глобальных ограничений в том, что за их выполнение отвечает не какой-либо агент, а центр, управляющий всей системой. Формально это выражается в том, что функции G(x) предполагаются зависящими от всего вектора x, а не от одного из векторов xk, k = 1, L, описывающих планы отдельных агентов. Общие ограничения отражают зада3 Программные продукты и системы № 2, 2012 г. ния по выпуску продукции, лимитированность ресурсов, потребляемых комплексом из внешней среды, связи по материальным потокам между технологическими узлами и т.п. Будем считать, что gi(x), i = 1, L − вогнутые, дифференцируемые функции, а X − выпуклое множество. Тогда задача, решаемая центром, может рассматриваться как задача вогнутого программирования: уточняет их интересы в окрестности полученного решения в обмен на стимулирование за раскрытие своих возможностей; 3) получив новую информацию, центр пересчитывает решение и задает новые вопросы агентам до тех пор, пока не будет получено точное или близкое к нему решение. Описанная модель поведения интеллектуальных агентов предполагает, что агенты, управляющие технологическим агрегатом (процессом), на уровне собственных представлений хорошо знают и чувствуют свои объекты управления и могут с достаточной степенью точности ответить, например, на такие вопросы: Какой план для вас выгоден при заданной системе стимулирования? Укажите по определенной шкале ценность для вас величины стимулирования при данном уровне плана. Если данный план для вас является невыполнимым, то укажите, какой из выполнимых планов наиболее близок к данному плану. Что нужно, по вашему мнению, сделать, чтобы невыполнимый план стал реализуемым? n Ф( x) → max, G ( x) ≥ b, x ∈ X = ∏ X k . (3) k =1 Здесь предполагается, что цель, стоящая перед центром, заключается в максимизации известной ему функции Ф(x), зависящей от всех компонент вектора x. Особенность задачи оптимального планирования (3) заключается в том, что либо центру неизвестна вся область X, либо он не знает все потенциальные возможности агентов. Практическая невозможность для центра получить точное представление о технологических ресурсах агентов предполагает необходимость разработки специальных процедур обмена информацией между центром и агентами. Это позволяет ему сформировать согласованный план без необходимости решения задачи математического программирования в полном объеме (с учетом всех глобальных и локальных ограничений, отражающих интересы агентов). Можно представить такую процедуру взаимодействия центра с агентами: 1) сначала центр узнает у агентов лишь грубое, приближенное описание их технологических множеств и находит решение задачи (1) (формирует план для агентов); 2) центр запрашивает у агентов оценки плана, Базовая модель обучающейся организационно-технологической системы Рассмотрим обучающуюся адаптивную организационно-технологическую систему (см. рис.). Функционирование схемы начинается с периода t, t=0, 1, 2, … На вход агента подается управление центра: план ht, определяющий результаты деятельности агента yt, потребляемые ресурсы xt, режимы ведения технологического процесса в виде коэффициентов выпуска αt, а также управление его поведением ut. В состав последнего входят затраты на оплату деятельности агента, его обучеЦентр It αt Целеуказание Оценки потенциала План πt Стимулирование потенциала ut Интеллектуальный дальновидный агент {C, A0, U, WI(•), R, I} ct xt ωt 4 zt Объект управления w(•): C×ξ×Χ→Ao o=o(y)∈O yt Программные продукты и системы ние и коучинг, стимулирование поиска скрытых резервов и т.п. Кроме того, на вход объекта действует помеха, значение которой в момент времени t известно агенту, но неизвестно центру. Обладая определенной структурой информированности Et, агент может сформировать представление о множествах Y(p(ut), xt, ωt) и Z(p(ut), xt, ωt). После анализа реализуемости возможных режимов ведения технологического процесса агент выбирает состояние yt∈Y(p(ut), xt, ωt). Центр наблюдает результат выбора yt и определяет оценку параметра αt+1 в периоде t+1: αt+1=I(αt, yt, xt), α0=α0, (4) где I – процедура оценки технологических возможностей агента; αt – оценки потенциала p(ut) агента в период t, ατ∈R1, τ=0, 1, 2, …, I(αt, yt, xt)⊂C1, I(α, y, x)↑α, At ÄYt ¾¾¾¾ ® At +1 . I Предположим, что при любых α∈At процедура (4) удовлетворяет следующим условиям: I(α, y, x)≥I(α, y′, x)⇔µ, µ′∈Θ, u∈U, y∈Y(p(u), x, µ), y′∈Y(p(u), x, µ′) и µ≥µ′ [2]. Значит, центр, получив более высокие оценки потенциала агента, может быть уверен, что агент стремится улучшить свое представление об имеющихся резервах технологического процесса и его деятельность направлена на их реализацию в практике управления. Если y∈Y(p(u), x, ω) и y'∈Y(p(u), x, ω'), то I(α, y, x)≥I(α, y', x). В силу строгой монотонности Y(p(u), x, ω) и условий выпуклости и замкнутости существует единственная форма представлений агента µ=ξa∈θ о технологических возможностях, при которой y∈Y∗(p(u), x, ω). Это, в свою очередь, гарантирует, что различным потенциалам агента p(u, µ) и p(u, µ′), µ≠µ′, таким, что y∈Y(p(u), x, µ) и y'∈Y(p(u), x, µ'), центр будет назначать разные оценки I(α, x, y)≠I(α, x, y′). Зная оценки потенциала агента αt+1, центр, используя процедуру планирования π и регулирования Q, определяет ему вознаграждение за достижение плановых показателей: ut+1=Q(αt+1), ut+1∈Ut+1 и план ht+1={yt+1, xt+1, αt+1) на период t+1: ht+1=π(αt+1), ht+1∈Ht+1, π(α)↑α. Здесь π, Q∈C – непрерывные функции, которые могут быть известны и согласованы центром с агентами. Сопоставляя фактическое состояние h*t+1={yt+1, xt+1, αt+1) с плановым ht+1={yt+1, xt+1, αt+1), центр определяет стимулирующее воздействие на агента по правилу ϕt = φ(ht* ,{ yt , xt }, ϕt ∈ R1 , φ∈ C1 . На этом функционирование системы в период t завершается. Допустим, что на r-м шаге интерактивной процедуры центр имеет некоторую информацию о № 2, 2012 г. множестве предпочтительных состояний агента Si(r). Предположим, что на r+1-м шаге от агента была получена дополнительная информация и построено новое множество желательных состояний для агента Si(r+1). Последовательно конструируемые центром множества желательных состояний агента должы отвечать следующему условию: Si(r)⊆Si(r+1). (5) В этом случае можно говорить, что множество Si(r+1) непротиворечиво расширяет множество Si(r). Если потребовать, чтобы включение было строгим, то (5) будет условием содержательности дополнительной информации от агента о предпочтительных состояниях. Конечность множества Xk гарантирует сходимость процедуры. Пусть результат деятельности центра d∈A0 определяется результатами деятельности агентов и A0=G(A1, β), где G(•) – функция агрегирования результатов деятельности агентов. Целевая функция центра является функционалом Φ(σ, d) и представляет собой разность между его доходом λd, где λ может интерпретироваться как рыночная цена, и затратами на вознаграждение σ(d, p), выплачиваемое агентам: σ(d, p)= n = ∑ σi ( yi , pi ) , где σi(yi, pi) – функция стимулироi =1 вания i-го агента. n Тогда Φ(σ(•), d, λ, p)=λd– ∑ σi ( yi , pi ) . i =1 Поведение агента Будем считать, что интересы агента описываются вектором oi Î Oio , где Oio – множество состояний, имеющих различную привлекательность для агента. Значения вектора oi определяются фактическими значениями вектора yi и другими характеристиками технологической ситуации целеустремленного состояния. Предпочтения агента на множестве Oio отражают устойчивые черты его личности. Они проявляются в действиях агента, которые являются результатом принятых им решений на основе субъективных представлений о ситуации целеустремленного состояния. Действия через поведение и эмоциональные переживания агента влияют на ситуацию целеустремленного состояния, изменяя ее. В свою очередь, ситуация оказывает обратное воздействие на устойчивые черты субъекта, когда он воспринимает, интерпретирует ее и изменяет свой опыт и поведение. При управлении технологическим узлом такое поведение агент реализует путем выбора значений режимных параметров zi, которые, в свою очередь, определяют значения вектора yi, а значит, и oi. Справедливо условие zi∈Zi, где Zi – множество допустимых значений режимных параметров, опре5 Программные продукты и системы № 2, 2012 г. деляемое технологическим регламентом. Отметим, что агент вправе рассматривать расширенный вариант вектора yi. В него он может включать параметры состояния агрегатов технологического узла, интенсивность своего труда и т.п. Значения вектора режимных параметров zi определяются вектором способов действия ci. В последний входят значения энергетических потоков, расходы сырья, вспомогательных материалов и т.д. Очевидно, что ci∈Ci. На технологический узел влияют различного рода возмущающие воздействия ωi∈Ωi, из которых часть si∈Si агент принимает во внимание. Поэтому Si⊆Ωi и Si∩Ωi≠∅. Поведение человека как интеллектуального агента, зависящее от его субъективных представлений о ситуации выбора, рассматривалось в работе [3], где было показано, что принимаемое агентом решение о способе действия определяется его оценками компонент ситуации целеустремленного состояния. Оценки, в свою очередь, зависят от структуры информированности Et, которая определяется знаниями, убеждениями, ценностями, нормами, опытом агента. В этой же работе была предложена модель принятия решений агентом, позволяющая учитывать его индивидуальные оценки компонент ситуации целеустремленного состояния. Модифицированный вариант этой модели применительно к задачам управления непрерывным производством имеет следующий вид: fi (σi , yi , pi , s ) = Arg max Eφ i (oi , si , ci , ui ), si ∈ Si , ci ∈ Ci ( I ti ), ui ∈ U i , oi = oi ( yi ) ∈ Oio , { } yi = f Et (si , ci , yi ) ∈ X i , Oio = Oijo , j = 1, n , (6) I t ⊆ M , χ1i ( Eφi ) ≥ χ1io , χ i2 ( EEi ) ≥ χ io2 , где Eϕi и EEi – интегральные оценки агента удельной ценности ситуации целеустремленного состояния по результату и эффективности; ciol , l = 1, 2 – оценки, отражающие эмоциональное отношение агента к ситуации выбора. Целевая функция агента, стремящегося не только увеличить свои доходы в текущем периоде, но и в определенной степени обеспечить их полуt +T чение в будущем, будет иметь вид Vt = ∑ ρ τ− t Eφ τ , τ= t где ρ – коэффициент дисконтирования, используемый для приведения будущих доходов к текущему моменту времени t, 0<ρ<1; T – дальновидность агента в периодах времени. Пусть агент может находиться в m состояниях y = { yi , i = 1, m} Î Y , образующих его модель ограничений. Предположим, что i-й агент характеризуется параметром pi∈Ωi⊆R1, называемым его типом и отражающим потенциал самоорганизации агента. Вектор потенциалов (типов) агентов обо6 значим через p = { pi , i = 1, n} . Тогда y∈Y(p)⊆Rm. Проявление потенциала агента будет зависеть от управления u∈U со стороны центра, его представлений о свойствах ситуации целеустремленного состояния ξ∈Θ= [x, x] ⊂R1, где x – представления, известные и разделяемые всеми агентами и центром (общее знание); x – представления, известные только i-му агенту и в полезности которых он убежден. Будем считать, что множество Y(p) выпукло и замкнуто, то есть Y(p1)⊆Y(p2)⊆ … ⊆Y(pn)⊆ … ⊆Y*(p), где Y*(p) – множество возможных состояний, характеризующих предельные потенциальные возможности агента; p1, p2, …, pn – последовательность потенциальных возможностей агента, возрастающих за счет управления u. Будем предполагать, что множество Y(p(u), ξ) непрерывно на Θ и U соответственно при любых u∈U и ξ∈Θ. Потенциал самоорганизации и адаптации, реализуемый агентом в действиях, делает справедливым утверждение, что множество Y(p(u), ξ) является расширяющимся на Θ, то есть Y(p(u), ξ1)⊂ ⊂Y(p(u), ξ) при u∈U, ξ, ξ1∈Θ, µ(ξ)>µ(ξ1), где µ(•) – субъективные оценки агента полезности своих представлений. Кроме того, предполагается строгая монотонность Y(p(u), ξ) на Θ при любом u∈U; W(p(u), ξ)∩W(p(u), ξ1)=∅, µ(ξ)≠µ(ξ1), ξ, ξ1∈Θ. Это означает, что способность агента накапливать потенциал за счет самообучения при наличии соответствующего стимулирующего воздействия позволяет дополнить задачу (3) условием p = { pk , k = 1, n}, pk ∈ Pk = {∀p1k , pk2 ∈ Pk , pk2 > p1k → X ( p1k ) ⊂ X ( pk2 )}. (7) Поскольку механизм функционирования Σ(I, π, Q, f) с процедурами оценки и прогнозирования потенциала агента I, планирования π, стимулирования f и регулирования Q обладает свойствами выявления потенциала агента путем активной идентификации, будем называть его адаптивным механизмом функционирования. Величину Vt назовем ценой, на которую агент согласен обменять свой человеческий капитал при участии в достижении целей, поставленных центром. В рассмотренном выше случае предполагается, что агент способен к самоорганизации первого типа. Обозначим через ci∈Ci способы действия агента, i∈N={1, 2, …} – множество агентов. Пусть n c = {ci , i = 1, n} ∈ C1 = ∏ ci – это вектор способов i =1 Программные продукты и системы № 2, 2012 г. действия агентов, наблюдаемый всеми агентами, n вектор c− i = {c j , j = 1, n, i ≠ j} ∈ C− i = ∏ ci – обj ≠i становка игры i-го агента по наблюдаемым способам действия. Стратегией агента является вектор способа действия ci∈ Ci, который приводит к ожидаемому результату yi в соответствии с его представлениями ξi: ci ¾¾¾¾¾ ® yi , где Ii – доступная агенту инфорIi мация о правиле получения результата. Тогда n y = { yi , i = 1, n} ∈ Y 1 = ∏ yi – вектор результатов i =1 деятельности агентов, а вектор y- i = { y j , i = 1, n, n i ≠ j} ∈ Y− i = ∏ y j – обстановка игры i-го агента j≠i по результату. Удобно ввести вектор v-i={c-i, y-i}, характеризующий полную обстановку игры для i-го агента. Задача (6), решаемая агентом, зависит от параметров p и u, причем целевая функция агента f(•) неизвестна центру. Центр предполагает, что агент, наблюдая обстановку v-i={c-i, y-i}, знает правила реализации своего потенциала в вектор способов действий ∆: Pk→Ck и вектор параметров результатов ∆ψ: Ck→Yk. Целевая функция i-го агента является функционалом fi(σi, yi, pi) и представляет собой, как показано в (6), удельную ценность ситуации целеустремленного состояния по результату. Второй возможный вариант – это разность между субъективными оценками удельной ценности ситуации целеустремленного состояния по результату и эффективности затрат, то есть fi(σi(•), yi, pi)=Eϕ(σi(yi, pi)) –EEi(y(ci, pi)), i∈N. В этом случае агент обменивает свой человеческий капитал pi(ξi) на вознаграждение σi(yi, pi) при приемлемом для него уровне затрат на получение результата yi [2]. Агент является собственником этого капитала, носителем уникального опыта, знаний и человеческих качеств. Обозначим через X*={x*x*∈X*(p), p∈P} множество достижимости или множество предельных технологических возможностей. При выполнении условия (7) способности агента формировать расширяющееся множество способов ведения технологического процесса и стимулирующем воздействии центра u можно определить следующие свойства целевой функции и областей достижимости: ∀ x1, x2 ∈ X: x2 > x1; ∀ u1, u2 ∈U → f (x2 ,u2 ) > f (x1, u1 ), (8) X = {x| x1, x2: x2 > x1, x1 ∈ X1 ; x2 ∈ X2:X1 ⊆ X2}. Условие (8) означает, что агент способен сконструировать более эффективные способы действия и видит открывающиеся при их реализации возможности. Алгоритм построения агентом множества предпочтительных состояний Поскольку конкретный вид целевой функции f(•) и состав множеств P и X полностью неизвестны, решение задачи (3, 7, 8) центром целесообразно выполнять с помощью алгоритмов сводимости, то есть на базе решенных локально-оптимальных задач агентами и полученной от них дополнительной информации. Формирование встречной информации при таком подходе заключается в реализации совокупности последовательных процедур, предназначенных для поиска промежуточных решений, на основании которых агент уточняет свои возможности и формирует окончательное решение. Полный цикл формирования агентом информации о своих возможностях включает следующие шаги. 1. Получение агентом от центра на r-м шаге варианта плана hk(r) и управляющего воздействия uk(r). Формирование агентом множеств Pk и Xk на основе знаний, опыта, интуиции и информации о параметрах своего потенциала pk и обстановке v-k. Просмотр множеств Pk и Xk, формирование точки yo*={yo*yo*=y(x), x∈Xk(p), p∈Pk}. Построение для найденной точки оценок значимости результата o(yo*), удельной ценности ситуации целеустремленного состояния по результату Eϕk(o(yo*)) и эффективности EEk(o(yo*)). Проверка существования x∗ и c∗, таких, что y(x*(p), c*(p))=yo* и o(yo*)=o*. Если таких способов нет, осуществляется переход к п. 2, иначе проверяются условия * * χ 1k ( Eφ k (o( y o )) ≥ χ 1ko , χ 2k ( EEk (o( y o )) ≥ χ 2ko . (9) Если условия (9) выполняются, то x∗ принадлежит к множеству желательных состояний для агента, а y(x∗(p)) – вектор результатов, удовлетворяющий представлениям агента о свойствах будущей ситуации целеустремленного состояния. Сообщение информации центру. В противном случае переход к п. 2. 2. Решение задачи поиска потенциально предпочтительного набора действий x∗∈X(p) и c∗∈C(p), позволяющего сформировать вектор o * предельных оценок значимости ситуации целеустремленного состояния при использовании на данный момент знания о структуре множества P и правилах ∆ и Ψ. Так как компоненты oi , i = 1, L, порознь достижимы, а вместе нет, делается попытка найти компромиссное решение, удовлетворяющее условиям (9), за счет компенсаторных уступок по каждой компоненте, являющейся несколько хуже решения o * . Если такого решения нет, то есть агент не намерен искать компромиссное решение, соответствующее начальным множествам Pk и Xk, осуществляется переход к п. 3, иначе – к п. 5. 7 Программные продукты и системы № 2, 2012 г. 3. Анализ направлений возможного расширения множества P путем изучения свойств обстановки v-k и организация процедур поиска новой информации (знания) для Pk(r)⊆Pk(r+1), а значит, конструирование новых правил ∆ и Ψ, то есть расширение множеств Xk и Ck. 4. Если расширение множества Pk(r) возможно и существует Pk(r+1) такое, что Pk(r)⊆Pk(r+1), осуществляется переход к п. 1, иначе фиксируется, что компромиссное решение yo* является неприемлемым при управлении uk(r). 5. На основе условий (9) путем решения обратной задачи определяются лучшие значения o<j(yo*), y<yo* и соответствующие им значения x<x* и c<c*. 6. Выполнение процедуры поиска минимально предпочтительной точки в пространстве оценок значимости ситуации целеустремленного состояния по направлению предпочтения y, yo*, определение вектора p0∈P и x*∈X(p). * * * 7. Если полученное значение для x , y , o принимается как удовлетворительное решение, процедура останавливается, в противном случае осуществляется переход к п. 8. 8. Для ограничений на o (прямых и косвенных) X определяет приоритетную координату i 0 Î [1, L] , по которой делается расширение мно- жеств P и Х так, чтобы oi0 ( x) = oi0 + ∆ i0 , где ∆ io – минимально возможное улучшение, которое является значимым для агента. Оно определяется по его высказываниям о гибкости ограничения на основе выполнения процедур поиска дополнительной информации. Определение u(r+1)=u(r)+∆u. Переход к п. 1. Описанный алгоритм использует три типа механизмов, применение которых порождает интерактивный процесс для построения компромиссного решения. Механизм анализа: с его помощью агент в момент r обрабатывает сведения, полученные на шаге r–1, для построения множеств Pk и Xk с целью определения xk, yo*, c*, z*. Сопоставляются результаты, полученные на момент r, с результатами на шаге r–1. Формируется представление о значениях вектора oo* и уступок по его компонентам. Строится предварительное представление о желательных значениях показателей Eϕk(o(yo*)) и EEk(o(yo*)). Механизм целеполагания: с учетом результатов предшествующего анализа позволяет определять условия, при которых возможно достижение желательных значений xk, yo*, c*, z*, Eϕk(o(yo*)) и EEk(o(yo*)). Для этого рассчитывается идеальная точка в пространстве оценок o, связанная с мно8 жествами Pk и Xk, – это точка o * , имеющая координаты oi* = max oi ( x( p)), i = 1, L . p∈Pk , x∈ X k То есть o * – наибольшее значение оценки по координате i, которое может быть получено с помощью намеченных действий. Эта точка образует центр области поиска предпочтительных состояний. Если при найденном значении координат точки o * условия (9) не выполняются, то агент рассматривает возможность расширения множеств Pk, Xk и Ck за счет включения дополнительных переменных, осуществления структурных изменений и т.п. для ослабления наиболее жестких ограничений так, чтобы выполнялось включение Pk(r)⊆Pk(r+1) и Xk(r)⊆Xk(r+1). Если это невозможно, формируются сведения о координатах oi< oi* точки oi≠ oi* , которая была бы достижимой и стала лучшим компромиссом в окрестности точки o * . L Путем минимизации потерь åo i =1 i - oio* определя- ются величины pi=oi – oi* ≠0, примерно эквивалентные, небольшие и значимые для агента. Механизм самоорганизации: для предварительно созданных условий позволяет получать (создавать) знания о правилах ∆ и Ψ для расширения множеств Pk, Xk и Ck. Он может иметь различные формы: проведение экспериментальных исследований на объекте с целью улучшения своего представления о его функционировании; анализ обстановки v-k; привлечение экспертов для подготовки рекомендаций по улучшению режимов ведения процесса; процедуры опроса персонала; процедуры голосования и т.п. В заключение отметим следующее. Описанная методика использовалась для выявления эффекта от внедрения АСУ технологическими комплексами и систем управления безопасностью в химической промышленности. Ее применение позволило определить потенциальные резервы технологических процессов и согласованные траектории их использования на всех уровнях управления. В результате сократились сроки внедрения автоматизированных систем за счет создания стимулов к совершенствованию технологического процесса и систем управления им у производственного и управленческого персонала. Литература 1. Иноземцев В.А. За пределами экономического общества. М.: Academia-Наука, 1998. 2. Цыганов В.В. Адаптивные механизмы функционирования промышленных объединений. М.: ИПУ РАН, 2000. 3. Виноградов Г.П. Индивидуальное принятие решений: поведение целеустремленного агента: научн. монография. Тверь, ТГТУ, 2011. 4. Виноградов Г.П., Кузнецов В.Н. Моделирование поведения агента с учетом субъективных представлений о ситуации выбора // Искусственный интеллект и принятие решений. 2011. № 3. С. 58–72. Программные продукты и системы № 2, 2012 г. УДК 519.816 МОДЕЛЬ ПРИНЯТИЯ РЕШЕНИЙ ЦЕЛЕУСТРЕМЛЕННОГО ПОВЕДЕНИЯ АГЕНТА В СЛАБОСТРУКТУРИРОВАННЫХ СРЕДАХ Г.П. Виноградов, к.т.н.; В.Н. Кузнецов, д.т.н. (Тверской государственный технический университет, wgp272ng@mail.ru); В.Н. Богатиков, д.т.н. (Институт информатики и математического моделирования Кольского научного центра РАН, г. Апатиты) Сформулирована задача генерации альтернатив поведения для слабоструктурированных сред, в которой сочетаются этапы целеполагания и целедостижения, что дает возможность использовать представления о предметной области проекта каждого из его участников. Описана модель выбора участника проекта, позволяющая прогнозировать его поведение. На основе модели предложена формальная процедура поведения участника проекта в процессе достижения целей проекта. Ключевые слова: проект, нечеткий вывод, агент, целеустремленное состояние, нечеткое программирование. Для наукоемких производств характерен проектно-технологический способ организации функционирования. Под проектом будем понимать комплекс взаимосвязанных мероприятий, направленных на достижение системой в заданный период времени и в установленном бюджете желаемых состояний (поставленных целей). Успешность проекта во многом определяется этапом целеполагания. В организационных системах цели формулируются ЛПР. Конкретные варианты целей зависят от внешней обстановки, потребностей и мотивации ЛПР, его эмоционального состояния, структуры ценностей, представлений о компонентах ситуации выбора. В условиях постоянно изменяющейся внешней среды, неполной информированности, информационных атак, сложности проекта, взаимосвязанности целей в проектах нередки ситуации, когда отмеченные особенности ЛПР могут приводить к полаганию ложных целей, а в менее худших случаях к их неполной структурированности. На практике при разработке проекта и его реализации возможности исполнителей зачастую неизвестны, результат выполнения его этапов будет зависеть от множества как случайных, так и неопределенных факторов. Большинство факторов, определяющих успешность проекта, имеют качественную природу, информацию о них можно получить только от эксперта. Из-за сложности и неопределенности процесса целеполагания проекта при построении структуры целей необходимо сочетать этапы анализа и синтеза. Анализ направлен на обеспечение уменьшения неопределенности и сопряжен с полаганием подцелей. Целеполагание представляет собой многошаговый процесс, каждый шаг которого соответствует задаче и осуществляет анализ выполнения ограничений по времени, ресурсам, затратам и возможности достижения целей проекта, а затем по результатам анализа – корректировку целей проекта и множества возможных способов их достижения. В результате многошагового процес- са анализа и полагания целей формируется иерархическая структура целей. Синтез направлен на формирование у ЛПР высокой степени убежденности в реалистичности и достижимости целей и реализуется путем имитации их осуществимости на основе способов действия для достижения намеченных подцелей. В результате многошагового процесса синтеза и мысленного достижения целей (целедостижения) формируется сетевая структура целей, или схема целедостижения. Для описания анализа и синтеза полагания и достижения целей в теории и практике управления организационными системами и методологии системного анализа разработано большое количество моделей, методов, методик и рекомендаций: регулирование конечных целей надсистемами, требования к формулировкам целей и к структурам целей. Однако применение перечисленных средств в слабоструктурированных средах не обеспечивает обоснованность указанных процессов, приводит к ложным целям и логическим ошибкам в их структурах. Следствием формирования логически некорректных структур целей являются просчеты в проектах, нередко выявляемые в процессе их реализации и после завершения. Все это снижает эффективность и результативность проектов. Этап целеполагания для обеспечения эффективности проекта при его реализации является основой для поиска подходов к решению проблемы логической правильности структуры целей и способов их достижения, гарантирующих высокую степень убежденности ЛПР в истинности целей и корректности их структур. Достижение подобного результата возможно при сочетании методов анализа и синтеза целей с одновременным выявлением скрытых резервов исполнителей и при повышении информированности ЛПР путем индуктивного обобщения индивидуального опыта всех участников процесса целеполагания. Вместе с установленными в психологии итеративным характером указанных процессов и тем, что адекватным языком интуитивного мышления является 9 Программные продукты и системы № 2, 2012 г. вербальный язык, это приводит к следующему заключению: для обеспечения логически правильного целеполагания, анализа и синтеза целей проекта и своевременного выявления и исправления ложных целей и некорректных структур целей необходимо дополнить указанные процессы моделированием рассуждений о целях, логическая семантика которых явным образом определяется семантикой целей и связей между ними, и выдать их результаты в виде семантических графов. Подход состоит в системном представлении процессов целеполагания, целедостижения, анализа и синтеза целей. Это позволяет 1) обеспечить соответствие лингвистической и логической форм описания целей, 2) установить истинность или ложность утверждений о целях с их свойствами в зависимости от наличия или отсутствия в проектах соответствующих целевых ситуаций, 3) разработать семантическую модель структуры целей, 4) закрепить за логически корректными структурами целей по результатам анализа и полагания целей методологическую функцию, способствующую синтезу корректных схем целедостижения. Постановка задачи генерации альтернатив, анализа и синтеза целей проекта в условиях неопределенности Иерархическую структуру целей проекта как результат определения перечня целей проекта, которые должны быть достигнуты в результате выполнения проекта, и полагания структуры подцелей представим в виде графа Gпр, содержащего m уровней [1] G пр = X , R , (1) где X – множество вершин, соответствующих целям всех i-х уровней, i = 1, m - 1 ; R – множество дуг графа, сопоставленных с множеством отношений подчинения целей верхнего уровня целям нижнего уровня и выражающих условия целедостижения. В соответствии с (1) можно сформировать кортеж целей X = x0 , x10 , j1 ,..., x((ii),-1,ji ji-1 ) , ..., x((mm--1),2),jmjm--12 , { } ( i -1), ji -1 ( i ), ji где x0 – цели верхнего уровня; x – множест- во ji-х целей i-го уровня, подчиненных целям i–1-го уровня ( i = 0, m - 1 ); ji-1 – множество целей i–1-го уровня. Сложный процесс построения планов проекта и его реализации можно выразить, упорядочив во времени граф Gпр, если предположить, что цели выдвигаются (становятся актуальными для реализации) в моменты времени ti , i = 0, m - 1 . В результате получим граф Gtпр = X , R, ti , отражающий процесс целевого планирования проекта, который идет от вершины x0 в направлении вер10 шин x((mm--1),2),jmjm--12 нижнего уровня. Процесс реализации проекта будет идти в обратном направлении от достижения целей нижнего уровня к достижению целей верхнего уровня. Обозначим через um -1, jm-1 вектор тех управлений, которые следует реализовать для достижения целей x((mm--1),2),jmjm--12 m–1-го уровня, описываемых векX ((mm--1),2),jmjm--12 . тором Очевидно, x((mm--1),2),jmjm--12 Î что Î X ((mm--1),2),jmjm--12 аналогично um-1, jm-1 Î U m -1, jm-1 . Рассмотрим процесс формирования целей k-го уровня, то есть подграф Gtпрk = X k , Rk , tk графа Gtпр = X , R, ti . В этом подграфе xk – множество целей k-го уровня, в котором X (kk,b+1), a – цели верхнего k-го уровня; b Î [1, jk ] , X (kk,+a1), dk , X (kk,+a1),lk – подцели dk Î [1, nk' ] , lk Î [nk' , nk ] ; R – множество дуг, выражающих отношение подчиненности цели X (kk,b+1), a подцелей X (kk,+a1), dk , X (kk,+a1),lk (см. рис.). При формировании структуры целей уровня k решаются две задачи. Первая связана с обоснованием логической правильности введения целей вида X (kk,b+1), a k-го уровня и полагания подцелей X (kk,+a1), dk , X (kk,+a1),lk . Вторая задача состоит в определении способов достижения целей k-го уровня и формировании на этой основе совокупности подцелей. Обе эти задачи направлены на выбор наиболее рациональной альтернативы структуры совокупности подцелей k+1 уровня. Схема целедостижения в проекте. Всех участников проекта в первом приближении можно разделить на две группы – проект-менеджеры и исполнители. Участники проекта имеют собственные интересы, что выражается в форме активного поведения: субъективное восприятие окружения и потребности находит свое отражение в мотивах, определяющих цели, для достижения которых субъекты формулируют задачи, определяют содержание и формы деятельности, применяют соответствующие методы и средства. Пусть целевая структура проекта имеет свое отражение в его организационной структуре. ТоX k ,b ( k + 1), a k-й уровень X k, a ( k + 1), d k+1-й уровень k X k, a ( k + 1), l k Пример структуры целей k-го уровня в общей схеме целедостижения проекта Программные продукты и системы гда процесс целеполагания для k-го уровня в описанном выше смысле предполагает рассмотрение двухуровневой структуры, содержащей центр (менеджер k-го уровня управления проектом) и подчиненных ему исполнителей (в дальнейшем, по терминологии многоагентных систем, интеллектуальные агенты или просто агенты). Организация процесса целеполагания предполагает обмен информацией между центром и агентами для согласования представлений о технологических множествах подсистем и системы в целом и возможных альтернативных вариантов структуры проекта целей на этой основе. Общая схема согласования в двухуровневой системе сводится к следующему. Центр на основе прошлого опыта формирует свое представление о возможностях агентов, формулирует проблему, определяет вариант структуры целей и способов ее реализации и ставит задачу. Агенты в соответствии со своими интересами и представлениями о возможностях разрабатывают собственные варианты и передают их в центр. Каждый вариант представляет собой векторный показатель, допустимый с точки зрения локальных ограничений. На основании получаемых вариантов центр корректирует представления о технологических множествах агентов, формирует план проекта, учитывающий локальные и глобальные ограничения, а также определяет предложения по расширению технологических множеств агентов. Этот план передается агентам, которые его детализируют и разрабатывают встречный план. Такой итерационный процесс при условии общности целей и разделяемых всеми систем ценностей и норм организации будет сходиться. Для его реализации требуется выполнить анализ графа Gпр в процессе мысленного достижения целей k-го уровня с помощью средств, определенных в виде подцелей, начиная с m–1-го уровня. Логическая задача в этом случае заключается в обосновании логической правильности синтезированной структуры целей на каждом k-м уровне и требует привлечения знаний и опыта субъектов проекта и экспертов. Математическая задача состоит в предварительной оценке ресурсов, необходимых для достижения каждой цели рассматриваемого уровня проекта. За счет информации, получаемой от ЛПР и исполнителей, меняются число и содержание целей, а значит, граф Gпр преобразуется в граф GIпр, который назовем исполнительным планом проекта. Решение этих задач будем рассматривать как принятие решения в нечеткой обстановке. Модель выбора интеллектуального агента Поведение человека является результатом его когнитивной деятельности, которая придает ему № 2, 2012 г. целенаправленность. В психологии когнитивная деятельность рассматривается как процесс формирования мысленного образа (результата восприятия) и модели познаваемых и анализируемых объектов, процессов, явлений. В соответствии со сформированной моделью, исходя из фиксированных в сознании установок, правил, обычаев, прошлого жизненного опыта, знаний, вырабатывается отношение к наблюдаемому и анализируемому. Затем в зависимости от этого отношения и оценок степени адекватности объекта результату мысленного отображения и анализа субъект формирует свое поведение, вырабатывая программу действий своего участия (или различной степени участия вплоть до полного неучастия) в событиях, процессах, явлениях, которые он считает важными для себя. Процесс мысленного достижения целей k-го уровня агент рассматривает как выбор средств для перевода наблюдаемой им ситуации целеустремленного состояния в некоторое желаемое состояние. Модель выбора для этого случая, учитывающая субъективное поведение агента, рассмотрена в [2] и имеет вид P (S ) = Arg max( EV ( si , ci )), si Î Si , ci Î Ci ( I ti ), I ti Í M , c1 ( EV ) ³ c10 , c2 ( EE ) ³ c 02 , (2) о = f ( x, s, c), oi Î O, x Î X , где c10 – оценка агента максимального выигрыша, который он мог бы получить, выполняя другую работу; S – окружение выбора, под которым понимается множество элементов и их существенных свойств, изменение в любом из них может стать причиной изменения ситуации целеустремленного состояния (или продуцировать это изменение); Cj, j = 1, n – доступные способы действий агента, которыми он владеет и которые может использовать для достижения i-го результата (их еще называют альтернативами); Oi, i = 1, m – возможные при окружении S результаты (существенные для агента); EV – ценность целеустремленного состояния по результату для агента; EE – ценность целеустремленного состояния для агента по эффективности. Модель принятия решений агентом в виде (2) дает возможность большей свободы в использовании субъективных представлений и суждений и содержит лингвистические переменные, что предполагает рассматривать ее как задачу нечеткого математического программирования. Кроме того, формой выражения представлений на каждом уровне является модель, как правило, в некотором формализованном виде, позволяющем просчитывать возможные исходы в различных вариантах способов действия. Однако при моделировании сложных, слабоструктурированных предметных областей невозможно учесть доста11 Программные продукты и системы точно большое число реальных факторов, поскольку это привело бы к чрезмерному усложнению модели. К тому же для модели характерны неопределенность и неполнота знаний. Поэтому в нее приходится вводить лишь ограниченное число таких факторов, которые по тем или иным соображениям считаются наиболее существенными. При этом возможны два подхода. Неучтенные в описании модели факторы можно считать абсолютно несущественными и полностью их игнорировать при принятии решений с использованием этой модели (четкие представления) или учитывать их влияние, допуская, что отклик модели на то или иное воздействие (выбор альтернативы) может быть известен лишь приближенно или нечетко (нечеткие представления). Модель нечеткого описания целеустремленного поведения агента Будем считать, что целью поведения агента является достижение им некоторого желаемого состояния – идеала. Цель реализуется через задачи, а задачи через итоги [2], что и определяет варианты структуры целей и задач. Итог определяет желаемый для агента результат за небольшой период времени t1 £ t £ t2 в определенном окружении выбора s: I(t, s)= = Arg max{EV jk (Oj , t, s) Oj Î O, j Î J , s Î S, t1 £ t £ t2 }. t1 £t £ t2 Задача представляет последний желаемый результат агента в последовательности итогов I (t, s), t1 £ t £ tk . Причем I1(t1, s1)<I(t, s)<…<Ik(tk, sk). То есть задача описывается следующим выражением: Z (tk , sk ) = maxI k (t , s t1 £ t £ tk , s Î S }. t1 < t < tk Цель представляет недостижимый результат W. Но к нему можно неограниченно приблизиться в последовательности решения задач Zv(tv, Sv) на интервале времени t1≤t≤tv<tn. Причем Z1(t1, S1)<Z2(t2, S2)<…<Zv(tv, Sv)<Zn(tn, Sn)=W и правдоподобность достижения цели Pv{Z(tv, Sv)≥Zn(tn, Sn)} (функция принадлежности «правдоподобность») неограниченно приближается с ростом n к 1. Ожидаемая удельная ценность относительно результата Oj монотонно возрастает в процессе продвижения к задаче на интервале времени t1≤t≤t2 и к цели на интервале времени t1≤t≤tv<tn Ik(tk, sk)>Ik-1(tk-1, sk-1) Zv(tv, Sv)<Zv-1(tv-1, Sv-1). В процессе продвижения к цели и к задаче множество доступных агенту способов действия и множество возможных результатов могут быть фиксированными. В том случае, когда необходимо формировать в процессе продвижения дополнительно к старым новые способы действия и новые результаты, организуется их интерактивный поиск. Тогда 12 № 2, 2012 г. I (t , s ) = Arg max{EV jk (O j , t , s) t1 £ t £ t2 O j (Ci ) Î O, j Î J , O Î {O}, Ci Î C , i Î I , C Î {C}, s Î S , t1 £ t £ t2 }. Нечеткие цели и ограничения проекта Пусть задано X = {xi , i = 1, n} множество альтернатив проекта. Тогда нечеткая цель будет отождествляться с нечетким множеством G в X={x} с функцией принадлежности µG(x). Значение функции принадлежности является экспертной оценкой степени соответствия (или правдоподобности) четкого значения x нечеткому значению «достигнута». Функция принадлежности выполняет ту же задачу, что и функция предпочтительности, которая используется в многокритериальной задаче принятия решений. Таким же способом определяем и нечеткое ограничение C в X={x} с функцией принадлежности µC(x). Значение функции принадлежности является экспертной оценкой степени соответствия (или правдоподобности) четкого значения x терму «выполнено». Если имеется n целей и m ограничений, то нечеткое решение следует определить как нечеткое множество в пространстве альтернатив, получающееся в результате пересечения всех заданных целей и ограничений [3], то есть D = G1 Ç G2 Ç ... Ç Gn Ç C1 Ç C2 Ç ... Ç Cm и m D = m G1 Ù mG2 Ù ... Ùm Gn Ù m С1 Ù mC2 Ù ... Ùm Cm . Значение функции принадлежности µD(x) является экспертной оценкой степени соответствия (или правдоподобности) четкого значения x нечеткому значению «все цели достигнуты и все ограничения выполнены». Рассмотрим множество точек в Х, в которых функция принадлежности µD(x) достигает максимума (если он существует). Тогда нечеткое подмножество DM из D будет называться оптимальным решением, если m D M ( x) = max m D ( x) для x∈K и 0 для остальных x. Каждое решение из носителя множества DM будет являться максимизирующим решением. Это любая альтернатива из множества Х, которая максимизирует функцию µD(x). Если некоторые цели и ограничения имеют разную значимость, то решение D задается выпуклой линейной комбинацией целей и ограничений с весовыми коэффициентами, характеризующими относительную важность составляющих целей и ограничений n m m D ( x) = å a ( x)mGi ( x) + å b ( x)m C j , где ai, βj являi =1 i j =1 j ются функциями принадлежности, такими, что n å a ( x)m i i =1 m Gi ( x) + å b j ( x)mC j = 1. Значения ai, βj – это j =1 Программные продукты и системы экспертные оценки степени соответствия (или правдоподобности) четких значений x нечетким значениям «самая важная цель» и «самое важное ограничение». Рассмотрим теперь случай, когда цели и ограничения являются нечеткими множествами в различных пространствах. Пусть f представляет отображение из X={x} в Y={y} , где x – причина, y – следствие. Цели заданы как нечеткие множества G1, G2, …, Gn в Y, а ограничения как нечеткие множества C1, C2, …, Cm в Х. Тогда функция принадлежности задается выражением D = G1 Ç G2 Ç ... Ç Gn Ç C1 Ç C2 Ç ... Ç Cm и m D = mG1 ( f ( x)) Ù ...ÙmGn ( f ( x)) ÙmС1 ( x) Ù ... ÙmCm ( x). Многошаговый процесс анализа и корректировки проекта в нечетких условиях На шаге реализации проекта осуществляется адаптирующее воздействие (анализ, решение об изменении, корректировка). Эволюция проекта в этом процессе описывается следующими логическими соотношениями, представляющими логические законы (тавтологии): ( xn , un ) Ù (( xn , un ) ® xn+1 ) ® xn+1 , zn (rn ) Ù ( zn (rn ) ® un ) ® un , n = 1, 2, ..., N . Здесь xv, uv, zv и rv представляют состояние проекта: xv – план проекта; uv – план, откорректированный на шаге v=1, 2, …, N; zv – его задачи; rv – временные, финансовые, материальные и трудовые ресурсы, необходимые на шаге v=1, 2, …, N. Отсюда можно получить m ( xn+1 ) = m ((( xn , un ) ® xn+1 ) Ù ( xn , un )), m (ul ) = m(( zn ® un ) ® un ), n = 1, 2, ..., N . Считаем, что заданы начальное состояние x0 и фиксированное время окончания процесса N. Тогда задача управления проектом заключается в нахождении максимизирующего решения m D (u0M ,..., u NM-1 ) = max m ax(m 0 (u0 ) Ù m1 (u1 ) Ù ... Ù u0 , u1 ,..., u N -2 u N -1 Ùm N -1 (u N -1 ) Ùm N ((( xN -1 , uN -1 ) ® xN ) Ù ( xN -1 , uN -1 )). Для ее решения можно применить принцип динамического программирования. Рассматривая последний шаг и повторяя процесс обратных итераций, получаем систему рекуррентных уравнений m G N -n ( xN -n ) = max(m N - n (uN -n ) Ù mG N -n+1 ( xN -n+1 ), u N -n m G N -n+1 ( xN -n+1 ) = m G N -n+1 ((( xN -n , uN - n ) ® xN -n+1 ) Ù Ù( xN - n , uN -n ))), n = 1, 2, ..., N . Максимизирующее решение – это результат последовательной максимизации uN-v с помощью полученного выражения. Причем на шаге (N–v) осуществляется прогноз состояния проекта по откорректированному плану проекта uN-v на шаге (N–v+1). № 2, 2012 г. В этом случае последовательность максимизирующих решений {u1, u2, …, uN-v, …, uN} обеспечивает одновременно максимальное значение степени соответствия состояния проекта его цели на последнем шаге N и всем видам ограничений на шагах процесса v=1, 2, …, N. Алгоритм решения задачи по управлению проектом В основе метода лежит схема последовательного анализа вариантов [4]: – разбиение множества вариантов решений задачи на несколько подмножеств, каждое из которых обладает дополнительными специфическими свойствами; – использование этих свойств для поиска логических противоречий в описании отдельных подмножеств; – исключение из поиска тех вариантов решений, в описании которых имеются логические противоречия. Нечеткое множество решений разбивается на подмножества, соответствующие каждой цели проекта. Из них выбирается подмножество, соответствующее наименее достижимой цели. Далее из этого подмножества выделяется нечеткое подмножество решений, для которых степень убежденности в достижении выделенной цели соответствует порогу, принятому ЛПР. В этом случае метод будет заключаться в реализации следующей интерактивной схемы. 1. Осуществляем ранжирование на шаге (N–v) всех целей по степени их достижимости. Выбираем наименее достижимую цель, то есть Gmin. 2. Корректируем на шаге (N–v) проект путем проектирования дополнительного подпроекта, состоящего из совокупности новых задач n u N - n = u N - n-1 Ç z N -n , z N - n = ∪ z Ni -n . i =1 3. Определяем на шаге (N–v–1) значение функции принадлежности нечетких ограничений проекта: m (u N -n -1 ) = 1, m(u1N - n ) = m(u N -n-1 Ç z N -n ) = n = m ( z N -n ) = Ù m( z Ni - n ). i =1 4. Если все оставляем без изменений, то все z Î ∅. Тогда прогнозируемое значение функции принадлежности нечеткой наименее достижимой цели проекта будет равно u1N - n = u N - n-1 , m G N - n ( x1N - n ) = m N - n (u N -n -1 ) Ù i N -n Ùm G N -n+1 (( xN - n , u N - n-1 ) ® xN -n+1 ) Ù Ùm G N -n+1 ( xN -n , uN -n-1 ). 5. Проверяем m G N -n ( x1N -n ) ³ m убеж . 6. Если условие п. 5 не выполняется, исключаем этот вариант и проводим корректировку пу13 Программные продукты и системы № 2, 2012 г. тем решения на шаге (N–v) задачи поиска максимизирующего решения. 7. Определяем на шаге (N–v) значение функции принадлежности нечетких ограничений проекта: m(uN -n ) = m(uN -n-1 Ç z N -n ) = m(u N -n-1 ) Ùm( z N - n ), n n i =1 i =1 m( z N - n ) = m( Ç z Ni -n ) = Ùm( z Ni - n ). Если при проведении корректировки некоторые z iN - n Ï ∅, тогда прогнозируемое значение функции принадлежности нечеткой наименее достижимой цели проекта будет равно n u N2 - n = u N - n-1 Ç z N -n = uN -n-1 Ç ( Ç z Ni -n ), m(uN2 - n ) = i =1 n = m (u N - n-1 Ç z N -n ) = m( z N -n ) = Ù m( z Ni - n ), i =1 так как µ(uN-v-1)=1, и m G N -n ( xN2 -n ) = m N -n ( z N - n ) Ù mG N -n+1 (( xN -n , z N - n ) ® ® xN - n+1 ) Ùm G N -n+1 ( xN -n , z N - n ). Проверяем mG N -n ( xN2 -n ) ³ m убеж . 8. Если условие п. 7 не выполняется, исключаем этот вариант и проводим следующую корректировку путем решения на шаге (N–v) задачи поиска максимизирующего решения и т.д. Математическая формализация максимизации плана проекта uN-v на шаге v=1, 2, …, N Расчет степени достижения цели проекта и выполнения его ограничений на шаге (N–v+1), прогнозируемых на шаге (N–v), осуществляется в следующем порядке. 1. Ранжирование всех целей по значимости. Выбор наиболее значимой цели. 2. Просмотр всех представлений проекта. 3. Определение подпроектов или задач проекта, обеспечивающих достижение этой цели. 4. Оценка степени выполнения ограничений по ресурсам для этого подпроекта или задачи m rN - n (rN - n ) . 5. Оценка степени правдоподобности импликации вида m rN®- nu (rN -n ® uN -n ) . 6. Оценка степени правдоподобности импликации вида m rN®- nx ,u (rN -n ® (u N - n , xN -n )). 7. Расчет степени выполнения ограничений подпроекта или задачи m N - n (u N -n ) = m uN -n (uN - n ) = = m rN®- nu ( rN - n ® u N - n ) Ù m rN - n (rN - n ) . 8. Оценка степени правдоподобности выбора uN-v в состоянии проекта xN-v, то есть m G N -n+1 ( xN -n , uN -n ) . 14 9. Оценка степени правдоподобности импликации вида m G®N -n +1 (( xN - n , u N - n ) ® xN -n+1 ) . 10. Расчет степени достижения цели проекта и выполнения его ограничений на шаге (N–v+1), прогнозируемых на шаге (N–v), то есть m G N -n ( xN -n ) = m N - n (u N - n ) Ù mG N -n+1 ( xN -n+1 ), m G N -n+1 ( xN -n+1 ) = mG®N -n+1 (( xN -n , uN - n ) ® ® xN - n+1 ) Ùm G N -n+1 ( xN -n , uN - n ). 11. Проверка выполнения условия в убежденности в достижении цели проекта и выполнения его ограничений на шаге (N–v+1), то есть m G N -n ( xN -n ) ³ m убежд , переход к следующей по убыванию значимости цели и т.д. Построение плана проекта осуществляется с помощью анализа его слабых и сильных сторон. Для этого специалисты в области создания проекта последовательно анализируют его цели в порядке убывания их значимости. При анализе сначала определяются задачи проекта, ресурсы и затраты. Если их недостаточно, вводятся дополнительные и проводится корректировка проекта. Перераспределяются затраты и ресурсы: u N - n Î {u N - n-1 , u1N - n , uN2 -n , ..., u Nk - n , ..., uNK -n } . Нечеткие множества целей, ограничений, решений и импликаций для управления проектом Описанная методика применялась при разработке проекта Тверского областного IT-бизнесинкубатора. Проект имеет следующие нечеткие цели. G1 – проект является одним из мероприятий Тверской областной целевой программы поддержки малого предпринимательства в части создания инфраструктуры поддержки субъектов малого предпринимательства, а также первым шагом к созданию в Тверской области IT-технопарка (ITкластера). Продукт, производимый инкубируемыми фирмами, высокотехнологичный, наукоемкий, инновационный. Это ПО, оборудование, услуги по обучению, внедрению и сопровождению, являющиеся коммерческими проектами, способными принести в будущем доход или повышение технологичности производства. G2 – привлекательность IT-бизнес-инкубатора для талантливой молодежи, молодых перспективных специалистов в области IT-технологий, для молодых высокотехнологичных и инновационных субъектов малого предпринимательства, действующих в области программирования, удовлетворяющих критериям отбора. G3 – за 10 лет работы бизнес-инкубатора будет выращено более 90 малых предприятий и создано Программные продукты и системы более 900 рабочих мест (по состоянию на момент выпуска из бизнес-инкубатора). G4 – выращенный не более чем за три года субъект малого предпринимательства должен иметь удовлетворительное финансово-хозяйственное состояние. G5 – бизнес-инкубатор является структурой для взращивания начинающих предпринимателей. Бизнес-инкубатор будет предоставлять помещения, оборудование, программные средства, средства коммуникации, а также оказывать информационные и консультационные услуги, содействие в получении финансовых ресурсов и в установлении деловых контактов, осуществлять организацию и проведение коллективных консультаций и семинаров, городских и региональных мероприятий, акций, конкурсов, издавать справочную литературу для предпринимателей. G6 – управление бизнес-инкубатором будет осуществляться выбранной на конкурсной основе управляющей компанией, которая проведет все организационные работы, связанные с созданием и деятельностью бизнес-инкубатора. G7 – экономическая эффективность. За первые десять лет функционирования IT-бизнес-инкубатора доходы страны почти в 5 раз превысят первоначальные инвестиции. Текущие расходы государства по содержанию бизнес-инкубатора равны нулю. Каждой расплывчатой цели соответствует нечеткое множество. Для его построения рассмотрим множество базовых значений Х, содержащих множество состояний проекта х, соответствующих множеству альтернатив решений по корректировке, и множество нечетких значений цели, согласованное с множеством ее базовых значений. F={«цель не достигнута», «цель достигнута на 25 %», «достижение цели 50 на 50 %», цель достигнута на 75 %», «цель достигнута»}. Для каждого нечеткого значения можно построить нечеткое множество. Представляет интерес только следующее: M (нечеткое значение = «цель достигнута ») = = {x x Î X , m( x) = m ( x, «цель достигнута»)}. Значения функции принадлежности µ(x)=µ(x, «цель достигнута») оценивают степень соответствия (или правдоподобности) базового значения состояния проекта нечеткому значению его цели «цель достигнута». Для определения этих значений используется метод фокус-групп. Значения можно вычислять по соотношениям метода экспертных оценок. При этом могут применяться балльные оценки, оценки ранжирования и оценки парных сравнений. Например, при применении наименее трудоемких балльных оценок сначала перечисляются пары (x, «цель не достигнута»), (х, «цель достигнута на 25 %»), (х, «достижение цели 50 на 50 %»), (х, «цель достигнута на 75 %»), № 2, 2012 г. (х, «цель достигнута»). Наиболее правдоподобной паре присваивают максимальное значение балла 1, или 10, или 100. Значение балла следующей паре по убыванию степени соответствия эксперты определяют как долю балла первой оценки, используя ряд значений от 0 до 1 (соответственно 10 или 100) баллов с интервалом в 1:20 этого максимального значения, то есть с интервалом 0,05 (0,5 или 5) балла. Далее оценки нормируются. Достоверность оценок достигается не проверкой статистических гипотез, а применением качественных методов, применяемых в практической социальной психологии с использованием дискуссий. В процессе проведения дискуссии экспертов (членов фокус-групп) о значениях функции соответствия определяются осредненные и позиционные значения, то есть несколько значений, соответствующих каждой оппозиции экспертов. Нечеткие ограничения проекта представляют ограничения С1 по материальным ресурсам, С2 – по трудовым и С3 – по финансовым. Таким образом, С=С1∩С2∩С3. Для построения нечетких множеств ограничений рассмотрим множество базовых значений U, содержащее множество планов проекта u, соответствующих множеству альтернатив решений по корректировке, и множество нечетких значений планов проекта, согласованное с множеством ее базовых значений. F={«ограничение не выполнено», «ограничение выполнено на 25 %», «ограничение выполнено 50 на 50 %», «ограничение выполнено на 75 %», «ограничение выполнено»}. Для каждого нечеткого значения можно построить нечеткое множество. Представляет интерес только такое: M (нечеткое значение = = «ограничение выполнено») = = {x x Î X , m( x) = m( x, «ограничение выполнено»)}. Значения µ(x)=µ(x, «ограничение выполнено») оценивают степень соответствия (или правдоподобности) базового значения плана проекта нечеткому значению его ограничения «ограничение выполнено». Для определения этих значений используется метод фокус-групп. Значения могут вычисляться по соотношениям метода экспертных оценок. Логическая переменная (xN-v, uN-v) соответствует событию, которое заключается в том, что на шаге (N–v) проект переходит из состояния xN-v путем проведения его корректировки uN-v. Для построения нечетких множеств ограничений рассмотрим множество базовых значений (х, u)∈X×U, содержащее множество X×U, соответствующих множеству пар альтернатив реше15 Программные продукты и системы ний по корректировке и состояний, и множество нечетких значений пар состояний и планов проекта, согласованное с множеством ее базовых значений. F={«неправдоподобно», «правдоподобно на 25 %», «правдоподобно 50 на 50 %», «правдоподобно на 75 %», «правдоподобно»}. Логические переменные (rN - n ® u N - n ) , (rN-v→ →(uN-v, xN-v+1)) и (( xN - n , uN -n ) ® xN -n+1 ) соответствуют событиям-импликациям, которые заключаются в том, что на шаге (N–v) событие-причина, например (xN-v, uN-v), приводит к следствию, например xN-v+1. Для построения нечетких множеств событийимпликаций рассмотрим множества их базовых и нечетких значений. F={«неправдоподобно», «правдоподобно на 25 %», «правдоподобно 50 на 50 %», «правдоподобно на 75 %», «правдоподобно»}. Для нечетких значений можно построить нечеткое множество: M (нечеткое значение = «правдоподобно») = {собы тие m(событие) = m(событие, «правдоподобно»}. Значения µ(событие)=µ(событие, «правдоподобно») оценивают степень соответствия (или правдоподобности) базового значения нечеткому. Для определения этих значений используется ме- № 2, 2012 г. тод фокус-групп. Значения могут вычисляться по соотношениям метода экспертных оценок. В заключение отметим следующее. В работе показано, что надежность целеполагания проекта для слабо структурированных сред можно существенно повысить путем включения этапа целедостижения. Моделирование процесса целедостижения позволяет сформировать у всех участников проекта общее знание о предметной области. Достигается это решением задачи нечеткой согласованной оптимизации со встречным способом сообщения агентами информации о своих возможностях. Задача центра состоит в стимулировании участников проекта в росте своего потенциала путем поиска внешних и внутренних ресурсов и резервов. Литература 1. Лукьянова Л.М. Целеполагание, анализ и синтез целей в сложных системах: модели и методы исследования // Изв. РАН; ТиСУ. 2007. № 7. С. 100–113. 2. Виноградов Г.П., Кузнецов В.Н. Моделирование поведения агента с учетом субъективных представлений о ситуации выбора // Искусственный интеллект и принятие решений. 2011. № 3. С. 58–72. 3. Беллман Р., Заде Л. Принятие решений в расплывчатых условиях / Вопросы анализа и процедуры принятия решений; [под ред. И.Ф. Шахнова]. М.: Мир, 1976. С. 172–215. 4. Михалевич В.С., Волкович В.Л. Вычислительные методы исследования и проектирования сложных систем. М.: Наука, Глав. ред. Физматлит, 1982. 287 с. УДК 681.518 КОМПОНЕНТНЫЙ ПОДХОД К ПОСТРОЕНИЮ РАСПРЕДЕЛЕННЫХ ИМИТАЦИОННЫХ МОДЕЛЕЙ А.А. Веселов, д.т.н. (Тверской государственный технический университет, veselov_a_a@mail.ru) Представлены разработка программных средств, позволяющих строить распределенные дискретно-событийные модели на основе компонентного подхода, а также техника разбиения модели на несколько частей и организация взаимодействия между ними. Получено значительное увеличение скорости выполнения распределенной модели за счет разнесения ее составных частей на удаленные автономно функционирующие модули. Ключевые слова: распределенная система, компонента, функциональный модуль, внешний представитель функционального модуля, удаленное взаимодействие. Известно, что хорошо построенная структура распределенной системы должна представлять собой некоторое эффективное решение, обеспечивающее надежное функционирование, хорошую управляемость и гибкость. Среди существующих архитектур, используемых для построения распределенных систем и получивших наибольшее признание, следует выделить клиент-серверную архитектуру и архитектуру распределенных объектов [1, 2]. В клиент-серверной модели система рассматривается как набор сервисов, предостав16 ляемых серверами клиентам. В таких системах серверы и клиенты значительно отличаются друг от друга. В случае модели распределенных объектов между поставщиками услуг (серверами) и их пользователями (клиентами) не существует заметных различий и система рассматривается как набор взаимодействующих объектов, местоположение которых не имеет особого значения. Именно поэтому автором данной работы предпочтение отдается последней модели – архитектуре распределенных объектов. Программные продукты и системы Входные сигналы (управляющие воздействия) № 2, 2012 г. Выходные сигналы (ответные реакции) Компонента распределенной модели Рис. 1. Автоматный подход к представлению распределенной компоненты Реализацию выбранной архитектуры распределенной модели предлагается осуществлять на основе применения следующих базовых принципов: - использование автоматного подхода; - отделение внешних связей с компонентой от внутренних связей с ее составными частями; - разделение компоненты (узла) распределенной системы на взаимодействующие части – функциональную и представительскую. Автоматный подход. Для представления структурных элементов распределенной модели используем автоматный подход. Суть его в том, что каждая компонента распределенной системы представляется в виде функционального блока (черного ящика) с соответствующим набором входов и выходов (рис. 1). Отделение внешних связей от внутренних. Наличие компонент с наборами входных и выходных сигналов позволяет легко строить из них системы самой разнообразной конфигурации. Однако при этом важно различать две ситуации. Первая: распределенная система строится из некоторого набора компонент, расположенных на одном иерархическом уровне (одноуровневая система). В этом случае все компоненты являются равноправными, а добавление новых компонент или удаление существующих позволяет развивать системы только по горизонтали (то есть в пределах одного уровня). Такие связи между компонентами, расположенными на одном иерархическом уровне, получили название горизонтальных связей. Вторая ситуация: какая-либо компонента состоит из нескольких других компонент. Такую компоненту будем называть владеющей, а компоненты, которыми она владеет, – подчиненными. Связи между владеющей и подчиненными компонентами позволяют организовать взаимодействие между компонентами, расположенными на разных иерархических уровнях, и получили название верти- Воздействия со стороны внешнего окружения (внешние связи) кальных связей. Учитывая необходимость реализации в распределенных системах как горизонтальных, так и вертикальных связей, предлагается все связи, имеющиеся в распоряжении компоненты, разделить на два подмножества: − внешние связи компоненты – связи между компонентами, расположенными на одном иерархическом уровне и не состоящими в отношении подчиненности друг к другу; − внутренние связи компоненты – связи между владеющей и подчиненными компонентами, расположенными на более низком иерархическом уровне и состоящими в отношении подчиненности к владеющей компоненте. Соответствующая структура связей, предлагаемая к использованию в компонентах для построения распределенных систем, представлена на рисунке 2. Отделение внешних связей от внутренних облегчает построение иерархических структур распределенных систем различной сложности и позволяет развивать их как по горизонтали, так и по вертикали. Разделение компоненты на представительскую и функциональную части. Поскольку распределенная система представляет собой совокупность взаимодействующих между собой компонент, ее размер сильно зависит от размера каждой из них. Для ослабления этой зависимости каждую из компонент в распределенной системе предлагается разделить на две связанные между собой части – функциональную и представительскую. Функциональная часть (или функциональный модуль) предназначена для реализации функциональных возможностей компоненты, а ее представительская часть – для предоставления внешнему окружению информации о состоянии функциональной части компоненты и средств, с помощью которых внешнее окружение компоненты может взаимодействовать с ее функциональной частью. Компонента распределенной модели Подчиненные компоненты Ответные воздействия на внешнее окружение (внешние связи) ( в н у т р е н н и е с в я з и ) Воздействия на Ответная реакция подчиненные компоненты подчиненных компонент Рис. 2. Разделение связей компоненты на внешние и внутренние 17 Программные продукты и системы № 2, 2012 г. Другими словами, разделение каждой компоненты распределенной системы на две части позволяет физически отделить функциональную часть компоненты от места ее непосредственного использования и взаимодействовать с ней только через ее представительскую часть (рис. 3). Воздействия со стороны внешнего окружения Реализацию внутренних связей предлагается осуществлять, используя механизмы удаленного доступа и/или механизмы обмена сообщениями и их обработки, основанные на активном использовании таких понятий, как события и делегаты. Для этого представители подчиненных компонент Представитель модуля компоненты Сигналы управления модулем Ответные реакции на внешние возмущения Ответные реакции модуля Функциональный модуль компоненты Воздействия на подчиненные компоненты Представители подчиненных компонент Управляющие воздействия Ответные реакции подчиненных компонент Ответные реакции Модули подчиненных компонент Рис. 3. Представление компоненты как составного объекта, разделенного на две части: функциональную часть (модуль) и ее внешнего представителя Такой подход дает возможность размещать функциональные части (модули) компонент распределенной модели в разных адресных пространствах и даже на разных компьютерах. Это позволяет в распределенной системе вместо функциональных модулей подчиненных компонент использовать только их представительские части. При этом значительные по объему функциональные модули компонент можно размещать в других местах, в том числе и на других компьютерах. Наличие у владеющего функционального модуля распределенной компоненты внутренних связей с представителями подчиненных компонент позволяет реализовать те же возможности, что и при работе с замещаемыми ими функциональными модулями. Этот эффект можно рассматривать как реализацию принципа инкапсуляции в той ее части, которая касается отделения и сокрытия внутренней реализации функционального модуля компоненты и ограничения доступа к нему со стороны внешнего окружения, которое возможно только со стороны ее представительской части. Такой подход позволяет реализовать функциональную часть каждой компоненты распределенной системы в виде отдельного объекта, автономно функционирующего в собственном адресном пространстве, например, в виде самостоятельного приложения. При этом в состав функционального модуля владеющей компоненты вместо функциональных модулей подчиненных компонент будут входить только их полномочные представители. 18 подписываются (обязуются) соответствующим образом реагировать на все сообщения, посылаемые для них модулем владеющей компоненты (на рис. 3 – сигналы управления модулем). В свою очередь, и модуль владеющей компоненты подписывается реагировать на все сообщения, отсылаемые ему подчиненными компонентами (на рис. 3 – ответные реакции модуля). Такое решение позволит обеспечить достаточно эффективное и надежное взаимодействие между владеющими и подчиненными компонентами распределенной модели. Рассмотренный компонентный подход к построению распределенных систем был использован на кафедре ЭВМ Тверского государственного технического университета для построения распределенных дискретно-событийных имитационных моделей устройств цифровой автоматики и вычислительной техники на основе применения математического аппарата теории сетей Петри [3]. Полученные результаты полностью подтвердили эффективность предложенного подхода и перспективность его применения при построении распределенных имитационных моделей. Литература 1. Таненбаум Э., ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб: Питер, 2003. 2. Александров А.А. Распределенное имитационное моделирование: технологии, методы, средства // Вестн. НГУ: Сер. Информационные технологии. Вып. 3. Т. 7. 2009. 3. Веселов А.А. Моделирование устройств цифровой электронной техники D-расширением сетей Петри: монография. Тверь: ТГТУ, 2006. Программные продукты и системы № 2, 2012 г. УДК 004.451.45 ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ДАННЫХ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ СИСТЕМ ПЛАНИРОВАНИЯ ИСПОЛЬЗОВАНИЯ ВОЗДУШНОГО ПРОСТРАНСТВА В.А. Григорьев, д.т.н.; С.Ю. Тимофеев (Тверской государственный технический университет, evm@tstu.tver.ru, timofeev.simeon@hotmail.com) Рассматриваются процессы обработки плановой информации в системе планирования использования воздушного пространства и возможности применения параллельной обработки данных для повышения производительности системы. Ключевые слова: программирование, параллельная обработка, планирование, воздушное движение, специальное ПО. количества физических и логических ядер, споС ростом количества авиаперевозок повышаетсобных вести параллельную обработку данных. ся актуальность совершенствования систем Таким образом, вопрос использования методов управления воздушным движением и систем плапараллельного программирования при разработке нирования использования воздушного пространсистем ПИВП является актуальным. В данной стаства (ПИВП). Планирование заключается в растье описываются основные задачи, решаемые сиспределении воздушного пространства по месту, темами ПИВП, с точки зрения возможности их времени и высоте между его различными пользопараллельного выполнения. вателями с целью обеспечения безопасного и Рассмотрим процесс обработки заявки на полет эффективного совместного использования при (рис. 1) в системе ПИВП, разрабатываемой для осуществлении ими заявленной деятельности [1]. Главного центра Единой системы организации Совершенствование таких систем происходит по воздушного движения (ЕС ОрВД) Российской Фечетырем основным направлениям: дерации. Задачи, решаемые системой ПИВП, под1) совершенствование каналов связи для поробно изложены в [2]. вышения надежности и скорости обмена информацией; 2) разработка и внедрение новых правил и регламентирующих документов для согласования работы служб, вовлеченных в процесс планирования и управления воздушным движением; 3) разработка и внедрение новых форматов данных при Рис. 1. Фазы обработки заявки на выполнение полета в системе обмене информацией с целью повышения уровня автоматиЗаявки на использование воздушного прозации взаимодействия различных систем планиространства приходят в систему в виде формализования и управления воздушным движением; ванных сообщений, формат которых определен 4) совершенствование специального ПО Табелем сообщений о движении воздушных судов (СПО) для повышения уровня автоматизации. в Российской Федерации (ТС-95). Кроме того, в Совершенствование СПО связано с необходиэто же время идут и работы по организации взаимостью более сложного анализа большого количемодействия с помощью обмена сообщениями в ства плановой, аэронавигационной и метеоинфорформате ADEXP, более пригодном для автоматимации. Это увеличивает требования к производизированной обработки. На рисунке 2 приведено тельности СПО, которой можно добиться за счет сообщение FPL с заявкой на осуществление полесовершенствования алгоритмов обработки данных та воздушного судна по территории России. либо более эффективного использования ресурсов Обработка сообщения начинается с выполнекомпьютерной техники. Разработка новых алгония форматно-логического контроля (ФЛК), осритмов требует значительных затрат времени на новные этапы которого представлены на рисунпроведение исследований, при этом всегда сущеке 3. (На приведенных в статье схемах пунктирной ствует некоторый предел производительности. С границей отмечены блоки, операции в которых другой стороны, в последнее время неуклонно могут выполняться параллельно.) растет процессорная мощность за счет увеличения 19 Программные продукты и системы № 2, 2012 г. воздушное пространство, маршрут полета с указанием точек изменения скорости и высоты полета, навигационное и спасательное оборудование и другие данные, указанные в заявке. Если при ФЛК не удалось определить все обязательные поля сообщения либо извлеченные данные не прошли валидацию, сообщение отправляется в очередь на обработку Рис. 2. Пример сообщения FPL с планом полета ВС диспетчером центра сбора и обработки планов полетов После определения типа сообщение передается (ЦСОПП). При успешном прохождении ФЛК десоответствующему синтаксическому анализатору лается попытка построения пространственно-вре(парсеру), который отвечает за анализ текста и изменной траектории движения воздушного судна влечение интересующей информации. Прежде (4D-траектории, или 4D-маршрута) по указанным всего, выделяя поля данных, он определяет струкв заявке данным. Этапы расчета 4D-траектории [3] туру сообщения. Если удалось определить все представлены на рисунке 4. обязательные для данного типа сообщения поля Построение 2D-маршрута начинается с поиска данных, парсером извлекаются значимые для пов БД аэронавигационной информации указанных в строения плана полета данные в структуру «Инзаявке именованных точек и трасс. При успешном формация о полете» и проводится их валидация. сопоставлении всех элементов на их основе строВ состав данных входят дата полета, номер рейса ится плоский (2D) маршрут в виде последовательи регистрационный номер, тип воздушного судна, ности участков. Участок соединяет две последовавремя взлета и посадки, аэродромы взлета и нательные точки маршрута и содержит информацию значения, точки входа/выхода в контролируемое Рис. 3. ФЛК входящих сообщений Рис. 4. Порядок построения пространственно-временной траектории судна 20 Программные продукты и системы № 2, 2012 г. о траектории движения воздушного судна на участва (рис. 5). стке, о протяженности (длине) участка, прямом и Для каждого участка в зависимости от направобратном магнитном курсе. Если участок прохоления движения (с запада на восток либо с востока дит по трассе, в него добавляется ссылка на опина запад) проверяется допустимость занимаемого эшелона. Если участок является частью трассы, то сание участка трассы из БД аэронавигационной выполняются дополнительные проверки на соотинформации (в дальнейшем это потребуется для ветствие действующим правилам его использоваанализа соблюдения установленных правил исния, а также производится проверка попадания пользования воздушного пространства). В конце судна в зоны ограничения использования воздушпервого этапа маршрут обрезается по границам ного пространства. Затрагиваемые зоны ограничезоны ответственности системы ПИВП (для Главний были выявлены еще на втором этапе, при поного центра – по границе зоны ответственности РФ). Если системе не удалось построить 2D-марстроении 3D-маршрута. Анализ производится на шрут, сообщение отправляется в очередь на обраданном этапе, так как необходимо рассчитать ботку диспетчером ЦСОПП. время входа/выхода в зоны для учета регламента На втором этапе с учетом летно-технических их работы. Кроме того, выполняется проверка на характеристик типа воздушного судна и данных о допустимость приема указанного типа воздушного судна на аэродроме назначения и запасных аэрометеоусловиях рассчитывается высотный профиль дромах, на соответствие указанных скоростей и полета. При этом в план вводятся дополнительные эшелонов полета летно-техническим характериточки, характеризующие траекторию воздушного стикам судна и ряд других. Все эти проверки судна на этапах набора высоты после взлета, сниможно выполнять параллельно. жения перед посадкой, а также при изменениях При обнаружении нарушений сообщение отэшелона во время крейсерского полета. Далее рассчитываются и вводятся в план точки правляется в очередь на обработку диспетчером входа/выхода в зоны воздушного пространства по ЦСОПП. Диспетчер проводит анализ выявленных маршруту полета. Расчет ведется по участкам ошибок и, если это возможно, устраняет их кормаршрута, его целесообразно выполнять паралректировкой текста сообщения. После этого солельно. Из зон воздушного пространства предобщение заново проходит все этапы обработки. Процесс повторяется до тех пор, пока не будут ставляют интерес сектора управления воздушным решены все возникающие проблемы. движением, районы аэродромов и зоны ограничеПо результатам анализа подателю заявки отний использования воздушного пространства (засылается сообщение одного из трех видов: ACK, претные зоны, опасные зоны, зоны ограничения MAN, REJ. Сообщение ACK отсылается при усполетов и опасных метеоявлений). Расчет пересепешном прохождении всех проверок без коррекчений с зонами осуществляется на данном этапе, тировки его системой или диспетчером и подтак как необходимо учитывать не только внешнюю границу зоны, но и диапазон занимаемых ею тверждает факт приема заявки. Сообщение типа высот. Если воздушное судно производит наMAN также подтверждает факт приема заявки, но бор/снижение высоты, то точки входа/выхода мопри этом указывает на то, что оно подвергалось гут быть не только на границе, но и внутри зоны. изменению. Если сообщение не удается скорректировать, отсылается сообщение REJ, содержащее Таким образом, в конце второго этапа получаописание причин отказа в приеме заявки. В случае ется описание траектории движения воздушного успешной обработки рассчитанный план заноситсудна в пространстве (3D-маршрут). ся в БД планов полетов системы. На третьем этапе определяется время нахождеПосле добавления плана или его изменения ния судна в каждой из точек плана. Для этого рассистема должна скорректировать данные об ожисчитывается время на прохождение каждого учадаемой загрузке элементов воздушного пространстка маршрута. Эти расчеты не связаны друг с другом и могут выполняться параллельно. Целесообразность параллельной обработки обусловлена необходимостью произвести достаточно сложные расчеты для учета метеоусловий и летнотехнических характеристик воздушного судна. С завершением третьего этапа получается полноценный 4D-маршрут полета, содержащий всю необходимую информацию для анализа плана на соблюдение правил исРис. 5. Валидация рассчитанного плана полета пользования воздушного простран21 Программные продукты и системы ства и сравнить полученные результаты с установленными нормами пропускной способности этих элементов (рис. 6). Рис. 6. Корректировка загрузки элементов воздушного пространства № 2, 2012 г. стремиться к минимальному влиянию вносимых изменений на существующий план полетов. Для анализа диспетчеру предоставляются данные о планируемых полетах за сутки до и после момента фиксации превышения норм пропускной способности. Это необходимо для полноценного учета влияния вводимых изменений. Также предоставляются данные о планируемых ограничениях использования воздушного пространства. Добиться снижения загрузки можно несколькими способами (рис. 7). Первый способ заключается в изменении маршрута полета судна таким образом, чтобы он не затрагивал элемент воздушного пространства, в котором фиксируется превышение загрузки. Задаче прокладки или изменения маршрута воздушного судна с учетом ограничения использования воздушного пространства посвящено большое количество работ. Рассматриваемые в них алгоритмы позволяют получить маршрут судна, соответствующий заданным критериям. При этом заранее нельзя сказать, что какой-либо из алгоритмов наиболее эффективен, так как большое влияние оказывают особенности конкретной рассматриваемой ситуации. Таким образом, целесообразно реализовать несколько алгоритмов расчета альтернативного маршрута и выполнять их параллельно. Кроме того, имеет смысл установить ограничение на количество предлагаемых диспетчеру вариантов маршрутов и принудительно прерывать расчеты при достижении заданного ограничения. Второй способ заключается в изменении профиля полета судна. Данная мера ОПВД использует тот факт, что границы нескольких секторов могут частично или даже полностью совпадать, но сами сектора при этом действуют на разных диапазонах высот. Изменив эшелон полета, можно добиться того, что воздушное судно будет передано под управление в сектор, располагающийся над или под перегруженным сектором, и тем самым снизить его загрузку. Третий способ заключается в изменении времени входа судна в перегруженный сектор. Такое изменение позволяет учитывать воздушное судно в загрузке за другой интервал времени. Скорректировать время входа можно следующим образом: – изменить время вылета; в основном применяется для судов, взлетающих с аэродромов РФ; Расчет загрузки производится в основном для секторов управления воздушным движением и аэродромов. Для разработки предложений по совершенствованию структуры воздушного пространства расчеты загрузки могут производиться для отдельных точек или участков трасс. Загрузка определяется по количеству входов воздушных судов в элемент воздушного пространства за интересующий интервал времени, обычно 1 час, 30, 20 или 10 минут. Существуют два подхода к корректировке информации о загрузке. Во-первых, корректировку можно проводить инкрементально при добавлении, изменении или удалении плана полета. Такой подход наиболее эффективен с точки зрения затрат ресурсов, но сложен для реализации из-за постоянного изменения плановой и аэронавигационной информации. Таким образом, более выгодно использовать второй подход, подразумевающий полный перерасчет загрузки затрагиваемых элементов воздушного пространства. Расчет загрузки при этом осуществляется в виде запроса на выборку планов полетов, входящих в интересующий элемент пространства в указанный интервал времени. Такие запросы можно выполнять параллельно, так как они не требуют модификации данных, а соответственно, блокировки таблиц БД. После корректировки данных система проверяет соответствие рассчитанной загрузки нормам пропускной способности элемента воздушного пространства. При обнаружении ситуаций превышения либо приближения к максимальной пропускной способности элемента воздушного пространства для разработки мер снижения загрузки привлекается диспетчер службы организации потоков воздушного движения (ОПВД). Разрабатываемые меры называются мерами ОПВД. При их разработке Рис. 7. Меры по решению проблем перегрузки секторов диспетчер должен 22 Программные продукты и системы – измененить время входа; воздушному судну определяется окно (слот) времени для входа в воздушное пространство сектора; в основном применяется для назначения времени входа иностранного судна в воздушное пространство РФ на этапе тактического планирования (в день выполнения полета); – изменить время входа за счет изменения скорости полета на предшествующих участках. Последняя мера ОПВД не затрагивает планы полетов. Вместо этого производится анализ возможностей повышения пропускной способности воздушного пространства, которого можно добиться изменением конфигурации секторов. Возможные конфигурации определены заранее, а значит, системе достаточно рассчитать загрузку секторов для каждого варианта и выбрать те, что позволяют решить проблему перегрузки. Эти расчеты также можно выполнять параллельно. Расчеты рассмотренных вариантов мер ОПВД не связаны между собой и могут выполняться одновременно. При завершении расчетов очередного варианта результаты незамедлительно отображаются у диспетчера, что позволяет уменьшить воспринимаемое время реакции системы. Принятие конечного решения об используемых мерах остается за диспетчером ОПВД. Если они № 2, 2012 г. приводят к изменению планов полетов воздушных судов, их владельцам рассылаются сообщения с предложениями об изменении плана. Те, в свою очередь, могут либо согласиться с изменениями, либо самостоятельно разработать новый план полета. В обоих случаях они должны заново подать заявки с желаемым планом полета. Рассмотренные в данной статье возможности параллельной обработки данных реализуются в перспективной системе планирования использования воздушного пространства, которая разрабатывается для Главного центра единой системы организации воздушного движения Российской Федерации в соответствии с Федеральной целевой программой «Модернизация Единой системы организации воздушного движения Российской Федерации» (2009–2015 годы). Литература 1. Федеральные правила использования воздушного пространства Российской Федерации. М.: 2011. 2. Рудельсон Л.Е. Программное обеспечение автоматизированных систем управления воздушным движением. Ч. II. Функциональное программное обеспечение. Кн. 4. Модель использования воздушного пространства. Обработка плановой информации. М.: МГТУ ГА, 2004. 3. Илларионова М.А., Черников П.Е. Алгоритм расчета маршрута в централизованной службе планирования полетов // Науч. вестн. МГТУ ГА. 2005. № 92. УДК 681.3.06:669.018 ПРОГРАММА ВЫБОРА ТЕХНОЛОГИЧЕСКИХ РЕЖИМОВ ДИСКРЕТНО-НЕПРЕРЫВНОГО ЛИТЬЯ ЦВЕТНЫХ МЕТАЛЛОВ И ИХ СПЛАВОВ (Работа выполнена при поддержке программы «Научные и научно-педагогические кадры России», грант № 16.740.11.0452) Н.К. Жиганов, д.ф.-м.н.; Е.Е. Фомина, к.т.н. (Тверской государственный технический университет, jiganov2005@yandex.ru) Рассматривается программа оптимизации, предназначенная для моделирования и выбора технологических режимов процессов непрерывного и дискретно-непрерывного литья цветных металлов. Ключевые слова: литье цветных металлов, моделирование, оптимизация, технологические режимы. Литейное производство цветных металлов в отличие от литья черных металлов является малотоннажным. Однако ассортимент продукции, производимой из цветных металлов, намного шире. При смене ассортимента продукции технолог вынужден изменять технологические режимы литья. Процесс подбора нужного режима достаточно сложный и при традиционном подходе требует постановки специальных физических экспериментов, а также большого количества времени, иногда измеряемого месяцами. Существенно сократить материальные затраты и потери времени можно за счет замены физического эксперимента вычислительным, который проводится не на реальном технологическом процессе, а на его виртуальном физико-математическом аналоге. Поэтому задача использования компьютерного моделирования для управления технологическим процессом и повышения его эффективности, направленная на улучшение качества продукции и увеличение производительности оборудования, безусловно, является актуальной. Программа выбора технологических режимов литья состоит из модулей гидродинамики, тепло23 Программные продукты и системы обмена, оптимизации и визуализации. Первые два модуля описаны в [1]. В данной работе приведем описание модуля оптимизации. Задача оптимизации ставилась следующим образом: необходимо получить непрерывно-литой слиток, температурное поле которого в процессе получения удовлетворяет заданным критериям при заданных ограничениях на технологические параметры литья. Математическая постановка задачи сформулирована как минимизация функционала Φ=Ij→min, j=1, …, 6 (1) при заданных краевых условиях ϕi(X)=0, i=1, …, m1 (2) и ограничениях U imin £ U i £ U imax ; i=1, …, n, (3) (4) Ψi(U)=0, i=1, …, m2, Si(U)≤0, i=1, …, m3, (5) где X – вектор фазовых координат, компоненты которого измеряются (контролируются), но не регулируются; U – вектор параметров управления, компоненты которого контролируются и регулируются; n – количество оптимизируемых параметров (координат вектора управления); U imax и U imin – максимальное и минимальное значения i-го оптимизируемого параметра Ui; m1 – количество ограничений типа (2); m2 – количество ограничений типа (4); m3 – количество ограничений типа (5). Для решения задачи (1)–(5) использовался метод случайного поиска с самообучением и адаптацией на рабочих и пробных шагах [2]. К несомненным преимуществам данного метода оптимизации по сравнению с градиентными методами следует отнести существенно меньшие затраты машинного времени при большом числе оптимизируемых параметров, простоту учета функциональных ограничений и краевых условий, высокую помехозащищенность. В связи с тем, что понятие «качество слитка» является весьма емким и содержит большое число показателей, ни один из которых не может быть измерен непосредственно в процессе работы, в [3] предложено управлять качеством процесса по косвенным показателям. В качестве критериев оптимальности были использованы критерии, приведенные в таблице 1 и являющиеся функциями температурного поля. В качестве оптимизируемых технологических параметров литья были взяты следующие: U1 – скорость литья; U2 – температура расплава; U3 – температура охлаждающей воды; U4 – длина кристаллизатора; U5 – время останова для дискретнонепрерывного литья. Далее в качестве примера приводятся некоторые результаты оптимизации для медного слитка и слитка из сплава Al (40 %)+Cu (60 %) при литье вниз. Значения технологических параметров следующие: длина кристаллизатора (Lкр) – 0,8 м; ра24 № 2, 2012 г. диус слитка (R) – 0,1 м; скорость литья (uлит) – 0,04 м/с; количество оптимизируемых параметров (n) – 5. Расчет критериев осуществлялся при исходных данных, представленных в таблице 2. Граничные значения оптимизируемых параметров взяты из результатов предварительных расчетов таким образом, чтобы глубина зоны затвердевания не превышала высоту кристаллизатора. Таблица 1 Критерии оптимальности Критерий Описание Минимизация граLR æ ¶T ö 2 æ ¶T ö 2 диентов темпера÷÷ + ç ÷÷ dxdr →min I1 =òò ç ç ç тур по толщине за¶ x ¶ r è ø è ø 0 x твердевшей корки Равномерность теL R æ¶T ö æ ¶T ö плоотвода внутри ÷ ç ÷ I 2 =òòç dxdr →min ç ÷ ç ÷ затвердевшей кор¶ x ¶ r è ø è ø 0 x ки Линейность распределения темпеL R ¶2T ратуры в продольI3 = dxdr →min ном сечении заx r ¶ ¶ 0 x твердевающей части слитка Равенство скорости охлаждения поверхности слитка в каждый момент времени ско2 L R ¶T рости охлаждения I 4 =òò dxdr →min в момент оконча0 0 ¶x¶r ния затвердевания (приближение к режиму охлаждения без термических напряжений) Скорость продвижения фронта заL R grad x T твердевания, опреI5 =òò dxdr →min деляющая направ0 0 grad r T ление и характер роста кристаллов òò Таблица 2 Оптимизируемые параметры Значение параметра Параметр Начальное, Нижнее, Верхнее, U0 Uмин Uмакс U1 U2 U3 U4 U5 Приращение, DU 0 -0,04 -0,05 -0,001 0,003 1430 (Cu) 1390 (Cu) 1450 (Cu) 4 1000 (Al+Cu) 980 (Al+Cu) 1200(Al+Cu) 295 280 310 2 0,8 0,3 1 0,047 0 1 30 1,933 В результате расчета для литья вниз получены наборы оптимальных значений технологических параметров, соответствующие критериям (I1–I5) и представленные в таблице 3. Программные продукты и системы № 2, 2012 г. Таблица 3 Оптимальные значения технологических параметров при литье вниз для медного слитка (Cu) и сплава алюминия и меди (Al+Cu) I1 Параметр U1 U2 U3 U4 U5 Нз (м) Ндз (м) Нс (м) Cu 0,017 1403 286 0,49 8 0,128 0,01 0,042 I2 Al+Cu 0,021 1067 290 0,629 14 0,4 0,22 0,233 Cu 0,017 1400 284 0,48 8 0,13 0,019 0,04 Al+Cu 0,017 1017 284 0,5 8 0,302 0,194 0,172 Критерий I3 Cu Al+Cu 0,022 0,023 1395 980 285,5 283 0,5 0,5 9 9 0,139 0,339 0,017 0,271 0,038 0,169 I4 Cu 0,018 1397 284 0,5 7 0,129 0,021 0,021 I5 Al+Cu 0,02 1035 287 0,5 10 0,286 0,207 0,35 Cu 0,02 1407 287 0,51 9 0,167 0,018 0,037 Al+Cu 0,018 1018 285 0,47 9 0,207 0,176 0,176 Температурный профиль Температурный профиль включает три зоны: жидкий расплав, двухфазная зона и затвердевший металл. В градациях серого цвета эти зоны обозначены соответственно темным, промежуточным и светлым тонами. Зона кристаллизации (двухфазная зона) имеет характерный для литья вниз вид фигуры «перевернутый колокол». Условия затвердевания оценивались тремя параметрами температурного профиля: Hз – глубина зоны затвердевания, определяется как максимальное расстояние от верхнего края кристаллизатора до границы затвердевшего металла; Hдз – ширина двухфазной зоны, определяется максимальным расстоянием между границами жидкого и затвердевшего металла; Hс – высота контакта жидкого металла со стенками кристаллизатора. Форма и глубина зоны затвердевания, а также ширина двухфазной зоны являются важными показателями процесса формирования непрерывно-литого слитка. Они определяют характер и степень зональной ликвации и дендритной пористости в слитке, а также прочность и пластичность литого металла. На основании анализа результатов, представленных в таблице 3, можно сделать следующие выводы. 1. Наибольшее влияние на значения всех критериев оказывают скорость литья U1, время останова U5 и длина кристаллизатора U4, в то время как влияние температуры расплава U2 и температуры охлаждающей воды U3 значительно меньше. Так, для всех критериев оптимизации различие в значениях температуры расплава как для литья вниз, так и для литья вверх не превышает 17 K, а температуры воды 12 K, тогда как значения других параметров отличаются более чем на 50 %. 2. Наибольшую производительность при литье вниз обеспечивает критерий I3, причем скорость литья не превышает 0,023 м/с. 3. Максимальная температура заливаемого расплава, максимальная глубина зоны затвердевания и наибольшая длина кристаллизатора характерны для критерия I5 (для Сu) и критерия I1 (для Al+Cu). 4. В общем случае не требуется большого перегрева металла – Трасп не превышает 1406 K для Сu и 1072 K для Al+Cu. 5. Максимальная глубина зоны затвердевания для сплава Al+Cu и Cu наблюдается в случае использования критерия I1. Кроме скорости литья, важным технологическим параметром, влияющим на производительность процесса и качество продукции, является время остановов при дискретно-непрерывном литье. Были произведены расчеты по оптимизации времени останова tост (U5) для критического режима литья вниз медной заготовки со скоростью 0,07 м/с. В этом режиме нарушалась сплошность зоны затвердевания. Время останова ограничивалось интервалом: 1≤tост≤30 сек. Результаты расчетов оптимального времени останова по критериям следующие: для I1 – 11,6; для I2 – 11,6; для I3 – 6,5; для I4 – 10,1; для I5 – 16,95 (см. рис.). а б в г Температурный профиль в конце фаз вытяжки и останова: а) критерии I1 и I2; б) критерий I3; в) критерий I4; г) критерий I5 25 Программные продукты и системы Как видно из рисунка, температурные профили, рассчитанные в соответствии с критериями оптимальности, сохраняют сплошность, процесс затвердевания завершается в зоне кристаллизатора, следовательно, не происходит нарушение устойчивости. Максимальное время останова соответствует критерию I5, минимальное – критерию I3. Для критериев I1 и I2 оптимальное время останова одинаково. Зона затвердевания теряет вид фигуры «перевернутый колокол». Таким образом, компьютерное моделирование позволяет технологу не только визуализировать № 2, 2012 г. процесс литья и рассчитывать его характеристики, но и управлять им исходя из заданных критериев оптимальности. Литература 1. Жиганов Н.К., Фомина Е.Е. Программа моделирования процессов непрерывного литья цветных металлов и их сплавов // Программные продукты и системы. 2008. № 1. С. 10–12. 2. Жиглявский А.А., Жилинская А.Г. Методы поиска глобального экстремума. М.: Наука, 1991. 3. Беленький А.А. Математическое моделирование и оптимизация процесса литья и прокатки цветных металлов. М.: Металлургия, 1983. 160 с. УДК 519.853.6 СИСТЕМА МОДЕЛИРОВАНИЯ ПОТОКОВ И ДИНАМИКИ ПРОХОЖДЕНИЯ РЫБЫ В РЫБОПРОПУСКНЫХ СООРУЖЕНИЯХ В.Д. Горячев, д.т.н.; М.C. Зимка (Тверской государственный технический университет, valery@tversu.ru, mszimka@gmail.com) Дается описание системы моделирования турбулентных потоков и динамики прохождения рыбы в рыбопропускных сооружениях. Приводится поведенческая модель движения рыбы, идущей на нерест в рыбопропускном сооружении лестничного типа, описываются структура и ПО вычислительной системы. Ключевые слова: CAE/CAM, вычислительная гидродинамика, моделирование биосистем. Проектирование гидротехнических сооружений (ГТС) ведется с использованием САПР и с привлечением различных вычислительных систем для моделирования течений в устройствах и оборудовании ГТС. Для проектирования рыбопропускных устройств разрабатывается вычислительная система (CAE) FishSim. В нее входят набор программ моделирования нестационарных турбулентных течений воды в камерах рыбоводов с открытой поверхностью и расчет динамики движения рыбы в этих устройствах. В систему введена настраиваемая поведенческая модель их движения как отдельных агентов независимых или взаимосвязанных особей рыбы. Вычислительная система предназначена для проведения оптимизационных расчетов при выборе конструкций рыбоводов, подъемников и других устройств, обеспечивающих проход ценных пород рыбы через ГТС. Система содержит блоки расчета гидродинамики течений в рыбопропускных сооружениях и моделирования движения рыбы в них. Для расчета стационарных и нестационарных турбулентных потоков возможно применение программы SINF, используемой в составе системы SELIGER [1], и программы FLOW-3D [2]. Расчет турбулентных течений ведется на основе RANS-уравнений (осредненных по Рейнольдсу уравнений Навье–Стокса) с использованием k-ε-модели турбулентности. Для моделирования течений со свободной поверх26 ностью раздела между водой и воздухом применяется VOF-метод с введением уравнения переноса функции порозности двухфазной среды [2]. Моделирование движения рыбы осуществляется на предварительно рассчитанном поле скоростей течения воды в сооружении. Расчет ведется с привлечением поведенческой модели рыбы. При ее формировании учитывается опыт обоснования двухмерных моделей движения совокупности рыб в ловушках при обходе ими препятствий [3, 4]. Поведение рыб мотивируется целью их совокупного движения, направленного на выход из рыбовода в верхний бьеф, с учетом режимов течения в лабиринтах проточных камер и локальной структуры струй воды в зонах вплывных отверстий и водосливов. Уравнения движения отдельных особей рыбы (агентов) задаются в предположении, что они имеют простую форму (сплюснутые эллипсоиды) и не оказывают обратное влияние на поток воды. В уравнениях движения учтены силы физического характера: силы от несущего потока воды с квадратичным законом сопротивления обтекания тел и с учетом поверхностного сопротивления, а также силы, определяемые логикой поведения агентов, их взаимодействия с возможными препятствиями, стенками и элементами конструкции камер рыбовода. Принимается во внимание возможное взаимодействие рыб (отпугивание, уход от возможного столкновения), ведется учет их мышечной Программные продукты и системы активности и накопления усталости при преодолении ими высокоскоростных участков водного потока и обходе препятствий. Побуждение к движению рыбы внешними факторами задается выбором направления их движения в области водного потока с высокими скоростями, поиском зон повышенной турбулентности течения, движением их за плывущими впереди особями. Сочетание последних факторов формирует траектории движения агентов (в частных случаях – кривые погони). Система уравнений движения i-го агента в скоростном поле водного потока имеет следуюdXi dVi щий вид: = Vi , = dt dt æ Sa (C f + C p ) ö PV = fç U - Vi (U - Vi ) + vi i + Fij ÷ + v ç ÷ 2mi mi Vi è ø g + (1 - f ) , где Sa = Sc LSe , miv = 1, 2mc Lme – алmi лометрические соотношения. В системе уравнений Xi, Vi – векторы координат и скорости агентов, U – скорость потока воды на рассчитываемой траектории, g – вектор гравитационного ускорения, функция порозности: f=1 – водная среда, 0 – воздух. Для оценки сил движения особей рыбы были приняты рекомендации работы [3]. Учет этих сил зависит от режима движения рыб (моды) при плавании: rVi2 Pi = C f S a – движение в основном режиме, 2 при котором модуль скорости рыбы задается близким к скорости воды в окрестности ее нахождения на траектории движения; rVi 2 – движение при переходе к Pi = S p C f Sa 2 реверсивному или порывистому режиму; æ ö Q 1 ÷ i S A m – реверPi = ç 1 ç ç 1 + ew ×(U - Viw ) ÷÷ Qmax b R v è ø сивный режим ухода рыбы при возможном столкновении со стенкой, где AR – ускорение при резком уходе; Qi – запас мускульной энергии движущейся особи; Q Pi = i Sb Ab mv – режим броска – движение Qmax рыбы на предельно возможной скорости в критических зонах. Система уравнений движения дополняется уравнением изменения мускульной энергии плавания в зависимости от режима движения рыбы: dQi = - f (M ) , где M – мода режима движения. dt Член Fij, приведенный в уравнении для ускорения справа, учитывает стайное взаимодействие № 2, 2012 г. Рис. 1. Взаимодействие рыб с потоком, между собой, с препятствиями особей рыбы [4]. Движение i-го агента ориентировано на множество других особей рыб: j-агентов, которые находятся в поле видимости i-го агента, как это показано на рисунке 1. При δij<ro предполагается увлечение i-го агента j-й особью, при δij>ro, наоборот, торможение догоняющей особи: Xi - X j Fij = kb å b dij y g ij , dij = Xi - X j , jÎ J r miv dij ( )( ) ( ) b dij = dij - ro (d ij - ro 2 ) + ra2 ( ) , y g ij æ1 - cos g ij ö 2 ÷ . = 1- ç ç ÷ 2 è ø В число привлекающих объектов можно вводить дополнительно (альтернативно) Ak – цели другой физической природы, расположенные в зонах интенсивных пульсаций потока, в областях с повышенным скоростным напором и с учетом других привлекающих рыбу факторов. Система уравнений движения агентов дополняется уравнением слежения одной особи за другой: Vi × X i - X j = 1. Vi Xi - X j ( ) Учет слежения можно вести через коррекцию вектора слежения за преследуемой целью: Xi - X j Vi (t + dt ) = Vi (t ) . Xi - X j Коррекция траектории движения агента возможна и в направлении привлекающего фактора, например, источника звуковых возмущений (высокая интенсивность пульсаций потока, кинетическая энергия турбулентности) в области вплывных отверстий (рис. 2). Приведенные выше уравнения составили основу программы FishSim для расчета траекторий движения рыбы. При написании программы использовался кросс-платформенный инструментарий Qt на C++. В состав системы моделирования входят препроцессор, блок импортирования ха27 Программные продукты и системы Рис. 2. Интерфейс и визуализация движения рыбы в программе FishSim Рис. 3. Вихреобразование в камерах лестничного рыбопропускного сооружения с верхним водосливом рактеристик и полей течения в камерах, редактор начальных и граничных условий, блок вычислений и блок визуализации результатов вычислений. Визуализацию и анализ скоростных полей течений и производных полей, анимацию течения можно вести дополнительно в графическом постпроцессоре HDVIS. Тестирование FishSim проводилось для условий прохода рыбы через камеры рыбохода лестничного типа, действующего на Нижнетуломской ГЭС (Мурманская обл.) [5]. Расчет течения со свободной поверхностью для одной из конфигураций рыбовода выполнялся с использованием программы FLOW-3D [2]. Пример визуализации сложного вихревого течения в камерах рыбовода приведен на рисунке 3, где показаны распределение интенсивности пуль28 № 2, 2012 г. саций на поверхности воды, скоростное поле в поверхностном слое сбрасываемой воды и линии тока в камерах с верхним водосливом. Расчет использовался для анализа гидродинамики течения и определения скоростных и скалярных полей. Это исследование комбинировалось с анализом движения преимущественно против течения моделируемых агентов – особей рыбы, с расчетом их проходимости вверх по течению, времени их движения и с выяснением факторов, препятствующих движению. Дополнительный анализ проводился в программе HDVIS, в набор функций которой входит блок расчета производных векторных, скалярных и тензорных полей анализируемых течений. Предварительные расчеты велись при разных предположениях о размерах и стартовых позициях рыб и повторялись для поочередно стартующих агентов с ориентацией на рыбу, идущую впереди, с последующим уточнением траекторий погони. Получены первичные результаты по оценке времени прохода рыбы. Качественно они согласуются с известными данными [5]. При тестировании разработанной программы анализировались эффекты усложнения логики поведенческой модели рыбы, велось уточнение эмпирических констант. Предварительными расчетами было установлено, что запас энергии крупных по размеру рыб не гарантирует им подъема вверх по течению при преодолении скоростного напора воды в области вплывных отверстий. Требуется дополнительная калибровка данных, что планируется провести в вычислительных экспериментах для течений с разным скоростным режимом, применительно к известным лабиринтным конфигурациям камер лестничных рыбопропускных сооружений. Тестирование программы FishSim показало перспективность ее использования как системы имитации поведения и движения рыбы при проходе через рыбопропускные сооружения лестничного типа и лифтовые подъемники и может использоваться для проектирования и оптимизации их конструкций. Литература 1. Смирнов Е.М., Зайцев Д.К. Метод конечных объемов в приложении к задачам гидрогазодинамики и теплообмена в областях сложной геометрии // Научно-технические ведомости. СПб: Изд-во политехнич. ун-та, 2004. № 2 (36). С. 70–81. 2. Hirt C.W. CFD-101: The Basics of Computational Fluid Dynamics Modeling, FLOW-3D Manual, Flow Science Press, Flow Science, Inc., Santa Fe, 2011. 3. Ko M., Nobua S. Computer Simulation of the Fish Behavior in Relation to a Trap Model // Bulletin of the Japanese Society of Scientific Fisheries. 1985. Vol. 51 (1), pp. 33–39. 4. Haefner J.W., Bowen M.D. Physical-based model of fish movement in fish extraction facilities. J. Ecological Modelling. 2002. № 152, pp. 227–245. 5. Скоробогатов М.А., Барекян А.Ш., Малевантик Б.С. Перспективы конструирования рыбопропускных сооружений. // Гидротехническое строительство. 1988. № 7. С. 37–40. Программные продукты и системы № 2, 2012 г. УДК 004.75 ЭКСПЕРТНО-МОДЕЛИРУЮЩИЕ СИСТЕМЫ В УПРАВЛЕНИИ ИТ-ИНФРАСТРУКТУРОЙ Д.В. Христенко, к.т.н.; И.В. Логинов, к.т.н. (Академия ФСО России, г. Орел, liv@academ.msk.rsnet.ru) Рассмотрена модель организации системы административного управления ИТ-инфраструктурой предприятия, построенная на основе сети распределенных экспертно-моделирующих систем и позволяющая повысить обоснованность экспертизы принимаемых решений административного управления. Ключевые слова: административное управление, ИТ-инфраструктура, экспертиза, система управления, распределенный, моделирование. Современная ИТ-инфраструктура предприятия функционирует в нестационарных условиях производственного цикла, в которых требуется оперативная и гибкая перенастройка производственных компонентов для решения новых задач обеспечения предприятия и адаптации к изменению условий внешней среды. Развитие предприятия и изменение условий внешней среды способствуют развитию ИТ-инфраструктуры. Для управления этой инфраструктурой в целях обеспечения ее соответствия состоянию и бизнес-целям предприятия, а также условиям внешней среды используются системы административного управления развитием (системной динамикой) ИТ-инфраструктуры и ее выделенных компонентов на всех этапах жизненного цикла. Задача административного управления заключается в выявлении рассогласования между текущим, прогнозным и требуемым состояниями ИТ-инфраструктуры, реализуемом в определении потребностей пользователей и требований бизнеспроцессов, а также в разработке, реализации и внедрении ИТ-сервисов, позволяющих улучшить отдельные бизнес-процессы предприятия. Такая постановка задачи управления характеризуется значительной неопределенностью, связанной со сложностью выявления формализованных требований к проектируемым ИТ-сервисам. С одной стороны, в большинстве случаев невозможно оценить текущую эффективность на количественном уровне и, соответственно, сложно определить перспективные направления для совершенствования. А с другой, трудно оценить эффект от реализации конкретных ИТ-сервисов, который в большинстве случаев является показателем качества, а также соотнести его с расходами на внедрение, которые поддаются достаточно точной оценке, например, с использованием методов определения совокупной стоимости владения. Сложность и неформализованность этой задачи отмечается в известных методиках управления ИТ- и ИТК-инфраструктурой, например, ITIL, CobIT, для решения которой предлагаются экспертные методы. Использование для этой цели автоматического анализа на основе мониторинга и гибридных моделей ИТ-инфра- структуры в большинстве случаев затруднено, что обусловлено низкой адекватностью существующих аналитических и имитационных моделей, к тому же разрабатываемых только при высоком уровне зрелости систем управления ИТ. Важность рационального распределения ресурсов при вводе в эксплуатацию новых ИТ-сервисов, в первую очередь, их выбора, обусловливает актуальность разработки подходов к решению задач административного управления ИТ-инфраструктурой. Модель организации системы административного управления Для повышения обоснованности принятия решений по развитию ИТ-инфраструктуры предлагается модифицировать известные системы административного управления [1–3] путем совершенствования организации подсистем экспертного мониторинга и анализа. В рамках такой модификации модели организации системы административного управления изменяется процесс экспертизы путем расширения привлечения квалифицированных экспертов, специализирующихся в соответствующих направлениях ИТ-инфраструктуры, на этапе решения задач модернизации. При этом за счет эффективной организации рабочего пространства и процесса экспертизы минимизируется отвлечение экспертов на выполнение рутинных функций. Привлекаемые эксперты обеспечиваются необходимыми инструментальными средствами, через которые осуществляется их взаимодействие, а также предоставляется доступ к системам поддержки принятия решений. Постановку задачи на экспертизу осуществляет функциональный руководитель, ответственный за развитие отдельного направления ИТ-инфраструктуры, а согласование действий и подведение итогов – выделенный специалист. Объединение экспертов и инструментальных средств образует распределенную экспертно-инструментальную систему [4], частным случаем которой являются распределенные экспертно-моделирующие системы (РЭМС), создаваемые для решения сложных задач административного управления ИТ-инфраструктурой. 29 Программные продукты и системы № 2, 2012 г. Особенность модифицированной модели оргаСеть РЭМС низации системы административного управления Особая виртуальная человеко-компьютерная развитием ИТ-инфраструктуры заключается во сеть РЭМС предназначена для решения задач адвведении в ее состав распределенных экспертноминистративного управления. Она является генемоделирующих систем (рис. 1), предназначенных рируемой и настроена на используемое представдля решения сложных задач оценивания состояление и решение задач. ния и подготовки предложений по развитию. В состав РЭМС входят следующие функциоСложность задачи определяется ответственным за нальные компоненты (рис. 2): данное направление развития, который в своем – распределенная система управления запровыборе руководствуется предполагаемой ресурсосами, образующая формирование экземпляра емкостью и ее значимостью для эффективности РЭМС под запрос администратора ИТ-инфраИТ-инфраструктуры предприятия. К сложным заструктуры; дачам административного управления относятся – система экспертизы (в частности, очной, совершенствование отдельных компонентов ИТочно-заочной и виртуальной); инфраструктуры (модернизация, начальный выбор) и выбор новых сервисов для внедрения. Поскольку поток задач управления развитием для ИТ-инфраструктуры крупных предприятий имеет значительную интенсивность, это приводит к одновременному функционированию нескольких экземпляров РЭМС, образующих свою сеть. Для их функционирования используют ресурсы и возможности, выделенные в рамках предприятия на сопровождение ИТ-инфраструктуры, бюджет которого обычно составляет около трех процентов от суммарных затрат предприятия. Ограниченность ресурсов и возможностей предполагает Рис. 1. Модель организации системы административного управления совершенствование на основе распределенных экспертно-моделирующих систем РЭМС при их использовании в составе систем административного управления в целях повышения получаемых результатов экспертизы для эффективной деятельности предприятия. В свою очередь, это предполагает обоснование и методов распределения ресурсов между отдельными экземплярами РЭМС, и разработки модели их организации в рамках распределенной сети с учетом особенностей Рис. 2. Структурная модель РЭМС жизненного цикла. … 30 Программные продукты и системы – виртуальная система гибридного моделирования, образуемая за счет разделения ресурсов собственной сети моделирования и внешних серверов моделирования (в том числе находящихся в других подразделениях организации, а также во внешних организациях и сети Интернет), объединяемых в распределенные инструментальные комплексы и распределенные базы моделей; – виртуальная система информационного обеспечения экспертизы; – среда взаимодействия (объединяет системы, службы и протоколы взаимодействия подсистем РЭМС); – системы основного и административного управления процессами и ресурсами РЭМС. Функционирование сети РЭМС предполагает создание ее экземпляров, а также обеспечение ресурсами для решения задач административного управления. При запросе администратора ИТ к распределенной системе управления запросами в зависимости от задачи формируется экземпляр РЭМС, в котором выделяется группа экспертов. По своему запросу они обеспечиваются информационными ресурсами и доступом к моделям компонентов ИТ-инфраструктуры. При этом путем создания новых моделей и методик моделирования компонентов ИТ-инфраструктуры расширяется и накапливается опыт системы по управлению ИТ. ИТ-инфраструктура предприятия имеет множество подсистем, которыми необходимо управлять с целью обеспечения их эффективности. Для управления каждой функциональной подсистемой создаются специализированные РЭМС, обрабатывающие потоки задач в ограниченной области. Функционирование такой организационно-технической системы, как сеть РЭМС, характеризуется целенаправленным поведением участников с целью достижения максимальной эффективности подготовки принятия решений для ЛПР, ответственных за развитие ИТ. Для устойчивого функционирования сети РЭМС в ее составе выделяются периферийные РЭМС, предназначенные для решения частных задач администрирования, и РЭМС центрального домена, предназначенная для управления процессом генерации и управления периферийными РЭМС. Вопросы, связанные с рассмотрением сетей РЭМС, впервые изложены в [5], где построена модель распределения ресурсов на основе теории активных систем и разработана иерархическая модель сети РЭМС, определяющая порядок распределения ресурсов с учетом активности агентов. Иерархическая модель сети РЭМС представляет собой интеграцию моделей нескольких уровней взаимодействия в рамках системы административного управления: «ЛПР–периферийная РЭМС», «РЭМС центрального домена–периферийная РЭМС», «периферийная РЭМС–эксперты». № 2, 2012 г. Использование сети РЭМС для административного управления информационно-телекоммуникационной системой Использование сетей РЭМС в системе административного управления ИТ-инфраструктурой потребовало создания механизмов генерации экземпляров РЭМС для решения задач администрирования из потока сложных задач. Для этого разработан экземпляр РЭМС центрального домена, в котором решаются задачи по выбору экспертов и выделению требуемых ресурсов для решения частных задач администрирования. ЛПР через РЭМС центрального домена осуществляет перераспределение ресурсов, выделенных на административное управление ИТ-инфраструктурой. Функционирование такой РЭМС обеспечивает ответственный специалист, который осуществляет поддержку технической и организационной составляющих системы и процессов администрирования. Для функционирования сети РЭМС разработаны методики, используемые ЛПР, ответственными, а также привлекаемыми экспертами. Процесс административного управления ресурсами и их перераспределения между периферийными РЭМС стандартизован и смоделирован в виде гибридной модели бизнес-процесса. Предложенные методики позволяют управлять РЭМС на всем этапе их жизненного цикла – от постановки задачи административного управления до ее окончательного решения. Разработан прототип периферийной РЭМС путем определения ее структуры, состава и методик функционирования. Организационная компонента РЭМС включает выделенных на период решения задачи экспертов из множества доступных экспертов (как внутренних, так и внешних по отношению к предприятию). Техническая часть содержит системы поддержки экспертизы, моделирования и информационного обеспечения. Система поддержки экспертизы сформирована на базе технических и программных средств и позволяет проводить удаленные и внутренние экспертизы с привлечением множества экспертов. С этой целью обеспечивается реализация очных, очно-заочных и виртуальных механизмов экспертизы. Система поддержки моделирования базируется на разработанной системе виртуального гибридного моделирования [6], реализующей среду распределенного моделирования. Данная среда обеспечивает поддержание гибридных моделей ИТ-инфраструктуры в целом и ее отдельных компонентов. Использование такой среды с доступом через вебинтерфейс позволяет повысить эффективность анализа предложений по развитию. Система информационного обеспечения предоставляет доступ к нормативной, справочной и технической информации, а также к информационным ресур31 Программные продукты и системы сам внешних сетей, в том числе и Интернета. Для функционирования РЭМС разработан комплекс методик, который формализует ее основные процессы: порядок экспертизы, подготовку предложений, назначение экспертов, распределение ресурсов. Практическое внедрение РЭМС-сетей позволило решить ряд актуальных административных задач: – управление процессом назначения экспертов в состав экземпляра РЭМС из множества незадействованных экспертов с учетом постановки задач от множества администраторов; – управление несколькими экземплярами РЭМС с целью обеспечения максимизации совокупного эффекта в условиях ограниченности ресурсов; в частности, приоритетами и очередями запросов, в том числе к разделяемым ресурсам типа уникального стенда полунатурного моделирования (такое разделение может выступать априорно или апостериорно); – управление процессом разделения ограниченных ресурсов между несколькими экземплярами РЭМС в рамках сети. Функционирование сети РЭМС, предназначенных для решения сложных задач административного управления ИТ-инфраструктурой, определяется необходимостью повышения адекватности принимаемых решений за счет привлечения экспертов и моделирования вариантов модификаций. Это определяет сеть РЭМС в качестве основного средства поддержки принятия решений по оцениванию и подготовке предложений по развитию бизнес-процессов, а также для обеспечения развития средств его автоматизации. В заключение можно сделать следующие выводы. Использование сетей РЭМС как основного УДК 519.688 № 2, 2012 г. средства для решения сложных задач административного управления позволяет повысить обоснованность принимаемых решений по совершенствованию ИТ-инфраструктуры. Это достигается за счет объединения экспертных методов с управлением на основе гибридной модели. Внедрение сетей РЭМС в состав системы административного управления ИТ-инфраструктурой осуществляется путем использования методик управления экземпляром РЭМС на всех этапах жизненного цикла от формулирования сложной задачи до ее решения, а также механизмов распределения ресурсов и возможностей всех типов между одновременно действующими периферийными РЭМС. Функционируют такие сети на базе комплекса методик управления сетями РЭМС. Литература 1. Гришаков В.Г., Лебеденко Е.В., Пирогов В.В. Разработка системы административного управления подразделением администрирования АСУП // Информационные технологии моделирования и управления. 2008. № 6 (49). С. 712–720. 2. Системный подход к построению информационных систем на основе жизненного цикла / Ю.И. Рогозов [и др.] // Изв. Южного фед. ун-та. 2009. Т. 90. № 1. С. 82–92. 3. Комплексное планирование модернизации информационных систем: методологические и методические основы / Б.В. Соколов [и др.]: тр. СПИИРАН. Вып. 3. Т. 1. Спб: Наука, 2006. С. 265–278. 4. Баранов И.Ю., Пирогов В.В., Христенко Д.В. Интеллектуальная система административного управления развитием корпоративной информационно-вычислительной сети // Датчики и системы. 2001. № 6. С. 42–46. 5. Христенко Д.В. Разработка системы административного управления корпоративной информационно-вычислительной сети : дис. … канд. тех. наук : 05.13.06 : защищена 20.05.08. Орел, 2008. 200 с. 6. Гришаков В.Г., Лебеденко Е.В. Моделирование организации распределенного гибкого комплекса подразделения головного администрирования АСУП // Изв. ОрелГТУ. Информационные системы и технологии. 2009. № 1/51 (562). С. 49–55. КОМПЛЕКС ПРОГРАММ ДЛЯ СОЗДАНИЯ БЛОЧНО-СТРУКТУРИРОВАННЫХ СЕТОК (Работа выполнена при поддержке РФФИ, грант № 08-07-00041) Д.К. Зайцев, к.ф.-м.н.; П.Е. Смирнов, к.ф.-м.н.; С.А. Якубов, к.ф.-м.н.; М.Е. Балашов, к.т.н. (Санкт-Петербургский государственный политехнический университет, aero@phmf.spbstu.ru, pavel.smirnov@nts-int.spb.ru, yakser@mail.ru, bumpy@mail.ru) Представлен пакет программ для интерактивного построения двухмерных и трехмерных блочно-структурированнных сеток в областях сложной геометрии, который интенсивно используется в качестве препроцессора для решения учебных и научных задач гидродинамики и теплообмена. Дано описание основных возможностей пакета и реализованных в нем алгоритмов генерации сеток. Ключевые слова: генерация расчетных сеток, блочно-структурированные сетки. Одной из важных составляющих численного моделирования в гидрогазодинамике является 32 создание сетки, разбивающей расчетную область на отдельные ячейки. Развитие и широкое распро- Программные продукты и системы странение коммерческих программных средств обусловили все возрастающую популярность неструктурированных сеток, построение которых, особенно для областей сложной формы, происходит гораздо быстрее благодаря большей гибкости и большей степени автоматизации. Однако изначально доминировавшие в вычислительной гидродинамике структурированные сетки до сих пор не потеряли своей актуальности, а в ряде случаев их применение оказывается предпочтительным. Главной отличительной особенностью структурированных (регулярных) сеток является наличие явно выраженных сеточных (индексных) направлений, которые можно трактовать как криволинейную систему координат. Благодаря этому на регулярной сетке удается построить разностные схемы более высокого порядка точности, что особенно важно, например, для прямого численного моделирования турбулентных течений и решения задач аэроакустики. При расчете течений в областях с подвижными границами регулярную сетку легко деформировать с помощью прямых интерполяционных формул, тогда как для неструктурированных сеток обычно вводится некая модель упругой деформации, требующая весьма затратного по времени итерационного решения вспомогательных уравнений. Регулярные сетки позволяют в большей степени векторизовать программу и использовать более эффективные численные методы (например, схемы с расщеплением по индексным направлениям). Работа со структурированной сеткой требует меньше вычислений, так как при равном количестве узлов (то есть при одинаковом пространственном разрешении) неструктурированная сетка имеет в 5–6 раз больше ячеек (тетраэдров) и в 3–4 раза больше граней. Наличие индексных координат обеспечивает прямой доступ к любой ячейке структурированной сетки и не требует хранения дополнительной информации о ее гранях, соседних ячейках и т.п. В целом программы, использующие регулярные сетки, проще в реализации, менее требовательны к вычислительным ресурсам и в ряде случаев позволяют обеспечить более высокое качество численного моделирования в гидрогазодинамике. Поэтому для небольших научных групп (в частности, университетских), разрабатывающих собственные программы такого рода, вполне естественна ориентация на использование структурированных сеток. В настоящей работе представлен комплекс программ для генерации двухмерных и трехмерных блочно-структурированных сеток, созданный при тесном сотрудничестве научных групп двух вузов – Санкт-Петербургского государственного политехнического университета (СПбГПУ) и Тверского государственного технического университета. № 2, 2012 г. Начальная отработка базовых алгоритмов, реализованных в представляемом комплексе программ, была осуществлена при создании в 90-х годах интерактивного двухмерного генератора сеток MIG (Mesh Interactive Generator). Впоследствии, в 2000–2003 гг., усовершенствованная версия этого генератора была интегрирована в препроцессор гидродинамического пакета FLOS (Flow Studio, рис. 1), а также послужила основой для наполнения алгоритмической части трехмерного сеточного генератора ORIGGIN (Operative and Rational Interactive Grid Generation Instrument, рис. 2). Рис. 1. Локальная коррекция сетки в пакете FLOS Рис. 2. Сеточный генератор ORIGGIN: создание сетки для расчета течения в колесе центробежного компрессора Отметим, что в настоящее время пакет FLOS широко используется в СПбГПУ, обеспечивая начальное освоение студентами методов инженерного анализа в гидродинамике с использованием современных программных средств, проведение циклов вычислительных лабораторных работ, выполнение исследовательских расчетов при подготовке отдельных выпускных бакалаврских работ и магистерских диссертаций. Генератор ORIGGIN 33 Программные продукты и системы входит в состав распределенной информационновычислительной системы, предназначенной для решения широкого круга задач вычислительной гидродинамики и теплообмена [1]. Построение многоблочной сетки в препроцессоре пакета FLOS происходит последовательно в три этапа: построение геометрической модели, расстановка граничных узлов, инициализация и при необходимости коррекция (улучшение) сетки. На каждом этапе на экране отображаются объекты соответствующего уровня и инструменты для работы с ними; имеется возможность масштабирования и оцифровки изображения, а также просмотра детальной информации об активном объекте. На этапе геометрического моделирования создаются границы расчетной области, а также вспомогательные границы для разбиения области на блоки. Границы состоят из опорных точек, соединенных друг с другом прямолинейными отрезками, дугами окружности или NURB-сплайнами [2]. Сплайн задается набором базовых точек, через которые проходит кривая (для объектов сложной формы предусмотрена возможность чтения координат базовых точек из текстового файла); при необходимости пользователь может менять положение вспомогательных точек, влияющих на кривизну линии между базовыми точками. Для задания структуры сетки в каждом ее блоке назначаются вершины топологического прямоугольника (попутно определяется ориентация индексной системы координат в блоке) и указываются геометрические элементы, образующие границы блока. Если некоторые опорные точки нужно определить как узлы сетки (например, для реализации поставленных граничных условий), им можно присвоить статус узловых; естественно, вершины блоков всегда являются узловыми точками. При расстановке узлов по границам блоков структурированной сетки, помимо соблюдения очевидного требования равенства числа узлов на противоположных сторонах блока, обычно следует обеспечить локальное сгущение узлов на некоторых участках границы (например, вблизи поверхности обтекаемого тела). В генераторе пакета FLOS для этого используется функция расстановки узлов на выделенном сегменте по закону геометрической прогрессии. При этом в качестве сегмента для расстановки узлов можно взять любой участок границы между ранее расставленными узлами (первоначально узлы располагаются в опорных точках границы), не содержащий внутри себя узловых опорных точек. В дополнение к стандартной функции расстановки узлов по сегменту реализованы авторские инструменты для модификации существующего распределения узлов, которые, как показала многолетняя практика применения пакета, значительно повышают удобство и эффективность работы с граничными узла34 № 2, 2012 г. ми. Среди наиболее востребованных – функции изменения числа узлов на сегменте (с сохранением имеющейся неравномерности их распределения), перемещения выбранного узла вдоль границы (с пропорциональным смещением остальных узлов на сегменте) и притягивания узлов сегмента к выделенному узлу, а также функции прямого и инверсного переноса (копирования) распределения узлов с одного сегмента на другой. Для реализации перечисленных функций используется монотонный сплайн, аппроксимирующий текущее распределение узлов на выделенном сегменте границы, то есть зависимость относительной координаты узлов от их относительного номера. После построения сплайна не составит труда воспроизвести ту же неравномерность при расстановке нужного числа узлов на любом сегменте (в прямом или обратном порядке), перемещение узла по сегменту реализуется с помощью кусочно-линейного распределения узлов вдоль индексной переменной (с изломом в выбранном узле), а притягивание узлов – простым нелинейным распределением (геометрической прогрессией по обе стороны от центра притяжения). Для первичной расстановки внутренних узлов (инициализации) сетки в генераторе пакета FLOS используется метод линейной трансфинитной интерполяции [2]. Если качество получающейся при этом сетки не удовлетворяет пользователя, он имеет возможность ее корректировки внутри выделенного сегмента. Алгебраические методы корректировки сетки представлены двухмерными аналогами функций для работы с граничными узлами: изменение числа сеточных линий выбранного направления, перемещение выбранного узла или сеточной линии вдоль сеточных или координатных направлений (с линейно убывающим смещением остальных узлов на сегменте), притягивание узлов сегмента к выделенному узлу или сеточной линии (рис. 1). При необходимости можно инициализировать сетку внутри выделенного сегмента в соответствии с текущим распределением узлов на его границе по методу трансфинитной интерполяции. Имеется также возможность локального сглаживания сетки (устранения изломов сеточных линий) на основании решения уравнения Пуассона (метод Томпсона [2]) с управляющими функциями Томаса–Миддлкоффа [3]. При этом в процессе итерационного решения уравнения Пуассона целесообразно останавливаться после каждой итерации для визуальной оценки результата; как правило, желаемый эффект достигается уже после двух-трех итераций. Как уже отмечалось, алгоритмы, отработанные в сеточном генераторе MIG (FLOS), использовались в процессе создания генератора двухмерных и трехмерных сеток ORIGGIN. При этом для алгоритмов, базирующихся на интерполяции вдоль кривой (расстановка узлов на ребрах, трансфи- Программные продукты и системы № 2, 2012 г. нитная интерполяция и др.), обобщение на трехмерный случай фактически свелось к простому добавлению третьей координаты при вычислении длины дуги и в качестве интерполируемой величины. Среди дополнительных полезных опций, реализованных в генераторе, можно отметить функцию ортогонализации сетки вблизи выбранной границы, которая является модификацией описанной ранее функции смещения узлов со специально подобранным законом изменения величины смещения при удалении от границы. Естественно, ориентация на работу с трехмерными сетками потребовала более развитого графического интерфейса для визуализации и навигации по объектам. Для построения трехмерных сеток в генераторе ORIGGIN предусмотрено несколько методов, простейшим из которых является выращивание трехмерной сетки из двухмерной (поверхностной) посредством поворота или линейного смещения. Также имеется возможность трансляции двухмерной сетки вдоль задаваемых направляющих, прямолинейных или криволинейных, с соответствующим линейным растяжением и поворотом начальной сетки или (в более общем случае) с плавным переходом от одной сетки к другой (например, от квадратной к круглой). Это позволяет быстро строить сетки, в частности, для расчета течения в трубах, диффузорах, переходниках и других каналах с плавно изменяющимся сечением. В условиях более сложной геометрии для создания (инициализации) трехмерной сетки в генераторе ORIGGIN применяется трансфинитная интерполяция, которая в общем случае требует задания сетки на всех шести ограничивающих поверхностях (гранях топологического куба). Сетки для плоских граней строятся как обычные двухмерные (с возможностью их пространственного смещения и поворота); для искривленных поверхностей используется метод проецирования плоской сетки [2]. С целью экономии затрат на построение поверхностных сеток предусмотрены неполные варианты трансфинитной интерполяции – по 4 граням и по 12 ребрам. При этом недостающие поверхностные сетки создаются автоматически с помощью трансфинитной интерполяции по двум индексным направлениям. Полезным дополнением к описанным генераторам сеток может служить утилита GROT (Grid Operation Tool) для преобразования структурированных сеток без изменения расстановки узлов Рис. 3. Утилита для манипуляций с сетками GROT (рис. 3). Утилита позволяет, в частности, выполнить поворот, смещение и масштабирование сетки, отразить сетку относительно ее грани или координатной плоскости, изменить порядок и направление индексов, разрезать сетку на отдельные блоки или объединить пару блоков в единую сетку. Утилита работает как с двухмерными, так и с трехмерными сетками; также имеется возможность создания трехмерной сетки из двухмерной посредством поворота или линейного смещения с заданным коэффициентом неравномерности. Графический интерфейс позволяет визуально контролировать выполнение всех операций с возможностью масштабирования и оцифровки изображения. На основании изложенного можно заключить, что представленный комплекс программ имеет простой и интуитивно понятный интерфейс, благодаря чему программы легко осваиваются начинающими пользователями и могут с успехом применяться в учебном процессе. В то же время функциональных возможностей комплекса вполне достаточно для построения высококачественных расчетных сеток при проведении научных исследований и решении практических задач в области гидродинамики и теплообмена. Литература 1. Распределенная информационно-вычислительная система моделирования методами вычислительной гидродинамики / В.Д. Горячев [и др.] // Программные продукты и системы. 2004. № 3. С. 2–7. 2. Handbook of grid generation / J.F. Thompson, B.K. Soni, N.P. Weatherill (eds.). CRC Press, 1998, 1136 p. 3. Thomas P.D., Middlecoff J.D. Direct control of the grid point distribution in meshes generated by elliptic equations // AIAA Journal, 1980. Vol. 18. No. 6, pp. 652–656. • Вниманию авторов! Пристатейный список литературы (не менее 3 пунктов) необходимо транслитерировать в соответствии с ГОСТ 7.79-2000 (ИСО 9-95). Новые редакционные требования на сайте журнала www.swsys.ru. 35 Программные продукты и системы № 2, 2012 г. УДК 004.4 СЛОЖНОСТЬ ПРОВЕРКИ МОДЕЛИ ПАРАЛЛЕЛЬНЫХ ПРОГРАММНЫХ СИСТЕМ (Работа выполнена при поддержке РФФИ, грант № 11-07-13150) С.С. Захарченко (Петербургский государственный университет путей сообщения, ss.zahar@gmail.com) Рассматривается принадлежность метода проверки модели параллельных программных систем к одному из классов сложности. Показаны особенности моделирования асинхронных вычислительных процессов. Ключевые слова: проверка модели, параллельные программные системы, класс сложности, темпоральная логика линейного времени, автомат Бюхи. Использование параллельных вычислений, которое становится все более актуальным, дает особые преимущества, повышая надежность, достоверность и быстроту получения результата. Вместе с тем параллельные программные системы требуют особой проверки, так как при параллельной работе нескольких составляющих системы возможно появление ошибок, не определяемых традиционными методами. Метод проверки модели является удобным инструментом при поиске ошибок в параллельных программных системах, однако его использование может быть ограничено из-за сложности реальных параллельных программных систем. Обычно данные системы состоят из нескольких частей, работающих асинхронно и разделяющих общие ресурсы. Исходя из этого, размер пространства состояний всей системы будет равен произведению размеров пространств состояний частей, входящих в систему [1]. Итоговая величина может достигать 10120 [2]. В связи с этим необходима оценка сложности проведения верификации параллельных программных систем с использованием метода проверки модели. В [3] дается общая оценка сложности проверки модели с использованием темпоральной логики линейного времени (LTL). В настоящей работе рассматривается сложность проверки модели с использованием LTL параллельных программных систем. Одна из проблем, возникающих при анализе параллельных программных систем, – отсутствие непрерывности при моделировании многопоточности. Широко используемой моделью многопоточности является представление возникающих событий в виде набора многочисленных базовых шагов. Такой подход называется моделированием с помощью чередования. Особенность его в том, что в любой временной отрезок только один процесс выполняет свою элементарную операцию. Другой процесс может выполнить свою элементарную операцию лишь по окончании предыдущей. Таким способом можно моделировать асинхронные процессы в параллельной программной системе. Однако необходимо введение определенных ограничений (выполнение требования справедли36 вости), так как возможны ситуации, когда только один из процессов будет осуществлять свои операции, не давая другим процессам выполнить свои. Метод проверки модели основан на использовании одной из основных темпоральных логик: CTL, LTL или CTL*. CTL является логикой ветвящегося времени, в которой рассматриваются различные пути вычислений программы. В отличие от CTL в LTL рассматривается единственный путь вычисления программы [2]. Логика CTL* является расширенной темпоральной логикой ветвящегося времени и объединяет в себе LTL и CTL. В данной работе рассматривается проверка с применением темпоральной логики линейного времени, что в совокупности с некоторыми ограничениями позволяет чередованием моделировать параллельные вычислительные системы. Рассмотрим программную систему P, состоящую из n модулей P1, P2, …, Pn. Каждый из модулей Pi работает параллельно с остальными модулями и выполняет отдельный процесс Пi программной системы P. Состояние системы определяется вектором значений общих переменных V={v1, v2, …, vm} и точкой управления в программе [4]. Вектор значений общих переменных V хранится в общей памяти M. Для того чтобы обратиться или сохранить значение переменной, процесс Пi должен получить доступ к памяти. В дополнение к этому каждый из процессов обладает своим набором частных переменных. Они используются для хранения результатов промежуточных вычислений или данных, не используемых другими процессами. Предполагается, что общая память М аппаратно или программно защищена таким образом, чтобы в определенный момент времени только один процесс мог обращаться к общим переменным. Если к переменной открыт доступ одному процессу, то другим он закрыт. За одну операцию доступа к переменной процесс может либо прочитать, либо изменить ее значение. Выполнение обоих действий за одну операцию не допускается. Таким образом, разные события не могут произойти одновременно, так как механизм исключительного доступа к памяти М не даст это сделать. Программные продукты и системы Значит, при всех возможных вариантах работы параллельной программной системы все события будут происходить в линейной последовательности. Область определения переменных программной системы чаще всего является бесконечной, следовательно, она имеет бесконечное количество состояний. При проверке модели параллельной программной системы требуется, чтобы она имела конечное количество состояний. Для этого используются представления первого порядка: каждой переменной v∈V сопоставляется значение из множества D, называемого областью интерпретации [2]. Если множество D будет содержать только два элемента {true, false} или {0, 1}, то и P(v) сможет принять только значение true либо false. Таким образом, состояние – это оценка s: V→D для множества переменных из V. Используя данный подход, можно сказать, что модель последовательной программы с помощью представлений первого порядка может быть описана структурой Крипке K=(S, S0, R, L), где S – конечное множество состояний программы; S0 – конечное множество начальных состояний программы; R: S×S – тотальное отношение переходов, то есть для каждого состояния s∈S должно существовать такое s'∈S, что (s, s')∈R; L: S→2AP – функция пометок, присваивающая каждому состоянию набор атомарных высказываний, истинных в данном состоянии. Рассмотрим бесконечную последовательность состояний σ=s0, s1, …, где s0∈S0 и (si, si+1)∈R при i≥0. Такая последовательность σ является вычислением программы. Модель программы K удовлетворяет формуле темпоральной логики линейного времени φ, если все вычисления K удовлетворяют формуле φ. Из структуры Крипке можно построить автомат Бюхи A=(Σ, S, S0, R, F), где Σ – конечное множество, которое называется алфавитом автомата A; S – конечное множество состояний автомата A; S0 – конечное множество начальных состояний (в случае детерминированного автомата содержит только один элемент); R – отношение переходов (для детерминированного автомата R: S×Σ→2S); F – множество допускающих состояний [3]. Таким образом, для модели K программы с конечным числом состояний и формулы φ проверка модели состоит в подтверждении того, что все последовательности, допускаемые автоматом АK, удовлетворяют формуле φ. Известно, что можно построить автомат Аφ, принимающий только те последовательности, которые удовлетворяют формуле φ [3]. Таким образом, проверка модели сводится к проверке того, что все состояния, принимаемые автоматом АK, принимаются и автоматом Aφ. Соответственно: L( AK ) Ç L( Aj ) = Æ . (1) № 2, 2012 г. Автомат L( Aj ) получается путем построения автомата Aj . Количество состояний в этом автомате будет равно 2O(|φ|). Чтобы получить пересечение этих автоматов, можно использовать следующий результат: из двух автоматов Бюхи A=(Σ, S, S0, R, F) и B=(Σ, S′, S0′, R′, F′) можно построить автомат, принимающий L(A)∩L(B). Такой автомат имеет |S|·|S′| состояний. Зная, что автомат AK имеет |S| состояний, а автомат Aφ имеет 2O(|φ|) состояний, получаем, что автомат L( A) Ç L( Aj ) имеет |S|·2(O|φ|) состояний. Таким образом, проверка того, что программа удовлетворяет формуле φ, будет выполнена за время O (| S | ×2O (|j|) ) (2) или в пространстве O((log | S | + | j |)2 ) . (3) Следовательно, задача относится к классу PSPACE [5]. Это означает, что проверка модели может быть выполнена с полиномиальным ограничением пространства. Применим данный результат к параллельной программной системе P. Тогда каждый из n ее процессов Пi описывается структурой Крипке Ki=(Si, S0i, Ri, Li). При параллельной работе процессов используется моделирование чередованием с применением правил, описанных выше. При моделировании необходимо выполнить требование справедливости, то есть запрет на бесконечные последовательности состояний, определяемые только одним из n процессов. В таком случае для параллельной программной системы n S = Õ Si ; S0 = ( s01 , s02 , ..., s0n ) ; i =1 n ∀s ∈ S : L( s) = ∪ Li ( s[i]) ; (s, s′)∈R, i =1 если и только если (s[i], s′[i])∈Ri. Сложность проверки модели параллельной программной системы P определяется относительно размера модулей Pi, из которых состоит система, и длины проверяемой формулы. Как отмечено выше, размер пространства состояний всей системы будет равен произведению размеров пространств состояний частей, входящих в систему |S|=|S1|·|S2|·…·|Sn|. Подставляя данное выражение в формулы (2) и (3), для параллельной программной системы, состоящей из n модулей, получаем соответственно: O(| S1 | × | S2 | ×...× | Sn | ×2O (|j|) ) , (4) O((log | S1 | + log | S2 | +... + log | Sn | + | j |)2 ) . (5) Применение конечных автоматов позволяет разделить проверку модели параллельной программной системы на отдельные составляющие: 37 Программные продукты и системы № 2, 2012 г. построение автомата по проверяемой программной системе, построение автомата по формуле и проверка пересечения этих двух автоматов. Причем для любой формулы линейной темпоральной логики φ можно построить автомат Aφ, принимающий только вычисления, удовлетворяющие φ. Проведенная оценка принадлежности метода к одному из классов сложности показывает, что проверка модели параллельной программной системы относится к классу PSPACE. В связи с тем, что размер проверяемых формул часто бывает небольшим, временная сложность оказывается приемлемой. Таким образом, можно заключить, что возможно построение эффективных алгоритмов, применяемых на практике и позволяющих автоматизировать процесс доказательства соответствия УДК 004.82 параллельных программных комплексов своей спецификации. Литература 1. Vardi M.Y. Linear vs. Branching Time: A ComplexityTheoretic Perspective. In Proc. Logic in Computer Science. Thirteenth Annual IEEE Symposium. 1998, pp. 394–405. 2. Кларк Э.М., Грамберг О., Пелед Д. Верификация моделей программ: Model Checking; [пер. с англ.; под ред. Р. Смелянского]. М.: МЦНМО, 2002. 416 с. 3. Vardi M.Y., Wolper P. An automata-theoretic approach to automatic program verification. In Proc. First Symposium on Logic in Computer Science, Cambridge, 1986, June, pp. 322–331. 4. Карпов Ю.Г. MODEL CHECKING. Верификация параллельных и распределенных программных систем. СПб: БХВ-Петербург, 2010. 560 с. 5. Sistla O.A.P., Clark E.M. The Complexity of Propositional Linear Temporal Logics. Journal ACM. 1985. № 32, pp. 733–749. МЕТАДАННЫЕ МУЛЬТИМЕДИЙНЫХ РЕСУРСОВ И ОНТОЛОГИИ (Работа выполнена при финансовой поддержке ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009–2013 гг., ГК № 16.740.11.0137) А.С. Москвина (Иркутский государственный университет, anastasia.moskvina@gmail.com) Рассматривается подход к формированию метаописаний аудио- и видеоресурсов, основанный на использовании онтологий в качестве систем метаданных. Разметка позволяет полноценно описывать характерные особенности мультимедийного ресурса, а онтологии, в свою очередь, предоставляют гибкие возможности для описания тегов (логических точек) разметки. Ключевые слова: онтология, мультимедийные ресурсы, разметка, метаданные, Libretto, пользовательский интерфейс. Метаописания информационных ресурсов являются универсальной технологией. Существует целый спектр подходов – от простейших фолксономий до использования в качестве тегов элементов формальных описаний предметных областей (онтологий). В случае применения онтологий при разметке ресурса он позиционируется в рамках предметной области, обеспечивая привязку ресурса к БЗ этой предметной области [1]. Например, в качестве метаописаний географических объектов в некоторой геоинформационной системе (ГИС) можно использовать информацию о климате, оперируя для этого БЗ такой области, как климатология. Подобная привязка информации к географическому объекту дает возможность получить дополнительную климатическую информацию, которая явно не содержится в метаданных, но может быть извлечена из профильной БЗ. Заметим, что данный подход является универсальным. Например, аналогичным образом его можно применить к описанию текстовых документов и их частей, выделяя и маркируя различную логическую информацию. БЗ той же клима38 тологии может поставлять метаданные и для профильных исследовательских публикаций, более точно характеризуя их с точки зрения предметной области. Хорошо известны другие примеры подобных описаний, в частности, формализованные таксономии биологических объектов, система УДК и т.д. Практически все формальные методы описания предметных областей в той или иной степени связаны с математической логикой. Это легко объяснимо, поскольку одним из основных требований к таким методам является строгая семантика самих описаний. С другой стороны, логики, лежащие в основе метаописаний, должны быть достаточно простыми, чтобы обеспечивать вычислительную эффективность, и, конечно, понятными широкому кругу пользователей. Многолетний опыт показывает, что построение формализмов, сочетающих эти качества, – нетривиальная задача. В настоящее время значительный объем исследований в данной области ведется в рамках проекта семантического веба. Математической основой этого подхода служат дескриптивные логики, ко- Программные продукты и системы торые являются наиболее подходящим компромиссом, сочетающим выразительность с алгоритмической разрешимостью, а в более простых случаях – с высокой эффективностью. Подход, предлагаемый автором, основан на использовании простой дескриптивной логики OODL [2, 3]. Описания предметных областей в этой логике могут быть корректно интерпретированы как объектные модели [2]. Для работы со знаниями, содержащимися в онтологиях, разработан специальный язык запросов Libretto, имеющий строгую денотационную семантику (основанную на дескриптивной логике SHOIN(D)) и корректно связанную с ней процедурную семантику, основанную на специализированном логическом исчислении. Данные результаты использовались при построении целостной технологии обработки знаний. В настоящей работе рассматривается использование этой технологии как основы для метаописания мультимедийных ресурсов в рамках объектно-ориентированного подхода. Эта идея базируется на абстрактном понятии «точка разметки», которое через механизмы наследования уточняется в зависимости от поставленной задачи. Через наследование базовый тип точки разметки наделяется способностью привязки к объектам онтологий, содержащим метаинформацию о ресурсе. Чтобы сделать процесс построения метаописаний конкретных ресурсов общедоступным, особое внимание уделяется концепции пользовательского интерфейса, который даст возможность пользователю самостоятельно настраивать систему и создавать необходимые типы точек метаописания. Это позволяет осуществить в системе перенос акцентов с уровня программирования на уровень интерфейса с интуитивно понятной работой с системами знаний. При таком интерфейсе пользователь может корректно строить системы метаданных, не вникая в тонкости логических методов. Тегирование мультимедийных ресурсов Рассмотрим метод построения метаданных на примере разметки аудио- и видеоресурсов. Нередко перед пользователем возникает проблема навигации и быстрого поиска в мультимедийном ресурсе. При этом критерии поиска могут быть самыми разными. Например, работая с электронным вариантом лекции, пользователю необходимо отыскать все отрывки, где встречается информация о каком-то конкретном факте, определении. Правильно построенная система разметки позволяет осуществлять быстрый поиск по ключевым характеристикам ресурса, а также генерировать оптимальную навигационную траекторию. Таким образом, в рамках данной работы решалась задача разработки подхода к тегированию мультимедийных ресурсов объектами онтологии. № 2, 2012 г. Для этого были созданы два приложения, разработанные в рамках системы Libretto, – редактор метаданных мультимедийных ресурсов и специализированный видеопроигрыватель. Редактор позволяет размечать мультимедийные файлы в соответствии с логическими критериями и записывать метаинформацию в структуру файлов ресурса. В нем также реализован метод организации связей между мультимедийными ресурсами с помощью метаданных: например, видео электронной лекции может быть привязано к слайдам презентации, что обеспечивает их синхронизацию. Видеопроигрыватель, кроме стандартных функций плеера, поддерживает поиск и навигацию по структуре ресурса на основе метаописания. Основная операция процесса метаописания – присвоение точке мультимедийного ресурса объекта онтологии в качестве тега метаданных. Эта операция привязывает к точке не только всю информацию, содержащуюся в объекте (дополнительную информацию дают классы, которым принадлежит объект), но и другие объекты, с которыми данный объект связан в рамках онтологии. Например, в лекции по некоторому предмету онтология может содержать справочный аппарат по этому предмету. В этом случае привязка некоторой точки лекции к объекту онтологии обеспечивает доступ к окрестностям тематики, раскрываемой в конкретном отрезке лекции. В данной работе используется технология управления БЗ в виде объектных онтологий, реализованная в системе Libretto. Поскольку язык Libretto имеет строгую логическую семантику, он позволяет делать строгие формальные описания предметных областей, ориентированные на автоматизированную логическую обработку. С другой стороны, структуры данных Libretto могут интерпретироваться как объектные модели, поэтому онтологии, определенные в Libretto, похожи на богатые объектные модели. Использование Libretto позволяет применить объектно-ориентированный подход и на интерфейсном уровне. Авторский подход к тегированию мультимедийных ресурсов состоит в следующем. Вопервых, строится базовая (шаблонная) онтология, в которой описываются ключевые свойства метаданных мультимедийных ресурсов. Ключевыми понятиями являются хронологическая точка (фиксирующая определенное место в мультимедийном ресурсе) и сегмент (выделяющий некоторый временной отрезок ресурса). К базовым понятиям привязываются методы работы с ними, являющиеся основой функционирования редактора метаданных и плеера. Для этого в шаблонной онтологии описываются абстрактные понятия интерфейса и мультимедийной информации. Теперь, чтобы сделать некоторую онтологию Оnt источником метаданных, достаточно связать ее через наследование с шаблонной онтологией. Благодаря 39 Программные продукты и системы множественному наследованию, действующему в Libretto, дополнительное свойство «быть элементом метаописания» можно примешивать к любому объекту Ont. Такая техника, основанная на множественном наследовании, позволяет интерпретировать практически любую БЗ как систему метаданных. Структура базовой онтологии Базовая онтология состоит из пяти основных классов (см. рис.). Point – класс онтологии, в котором хранится вся информация о точках разметки. Содержит три основных свойства – время установки точки в миллисекундах, имя (если необходимо) и интерфейсную информацию о представлении точки. Fragment предназначен для разметки с использованием сегментирования. Это еще один способ разметки хронологических сегментов – блоков мультимедийных ресурсов, непрерывных во времени. Фрагмент является набором логически связанных отрезков мультимедийных ресурсов, наделенных общей информацией. В системе предусмотрена возможность сегментирования, при этом сегмент – это отрезок, состоящий из начальной и конечной точек. Как только сегмент или набор сегментов наполняется какой-то логической метаинформацией, он становится фрагментом. Resource позволяет получать информацию о разметке данного мультимедийного ресурса (логические точки, логические фрагменты, информация об используемых мультимедийных файлах). Это может быть полезно, к примеру, при работе с несколькими ресурсами. Multimedia содержит описание мультимедийных ресурсов, используемых в проекте (аудио, видео, изображение, текст). Interface отвечает за описание графического интерфейса. Таким образом, чтобы объявить объекты некото40 № 2, 2012 г. рого класса Cls элементами метаописаний, достаточно объявить его наследником класса Point (в Libretto это делается декларацией class Cls extends Point). В результате можно организовать оглавление. Если в некоторой онтологии описано понятие древовидного оглавления, скажем, в рамках стандарта IMS Content Packaging с основным классом Item, то для привязки его к ресурсу достаточно объявить Item наследником класса Point. Эта же техника используется и в других случаях. Разметка мультимедийных данных Идея использования метаданных для описания мультимедийных ресурсов используется очень широко. Имеется ряд стандартизированных форматов разметки, например, ID3v1, ID3v2, действующих на аудиофайлах. Общий подход заключается в том, что в структуру файлов записывается фиксированный набор тегированных свойств. Разработчиками этих спецификаций предусмотрены Структура базовой онтологии Программные продукты и системы конкретные теги метаописаний, такие как исполнитель, название альбома, стиль и другие, за рамки которых пользователь выйти не может. С точки зрения автора, эти спецификации являются отдельными онтологиями, которые могут применяться наряду с другими, то есть ID3 – частный случай описания предметной области; метаописания относятся к документу в целом, в то время как предлагаемая в данной работе технология может применяться и ко всему документу, и к его отдельным точкам и сегментам. Благодаря наследованию система является расширяемой: точки разметки могут разрабатываться через уточнение базовых стандартизированных понятий (например, тегов из ID3). С одной стороны, опора на существующие спецификации позволяет избежать самодеятельности при разработке системы метаописаний. В [4, 5] показано использование этой техники при формализации ряда открытых стандартов; за основу взята спецификация метаописаний DublinCore. С другой стороны, интерпретация (семантика) точек и сегментов метаописаний может быть самой разнообразной и зависит от предметной области. Приведем несколько приложений, демонстрирующих возможности предлагаемой технологии: – точки смены слайда, содержащие новый слайд и метод его демонстрации; – сегменты лекции по математике, выделяющие конкретные определения, теоремы с доказательством и привязкой к релевантной справочной информации; – аудиокнига с привязанным оглавлением и справочным аппаратом (индексом); – запись концерта с сегментами, выделяющими части произведений и привязывающими к ним релевантную информацию (расширенный формат CUE); – учебный фильм со справочным аппаратом и тематической навигацией; – съемки в электронном микроскопе с разметкой кадров и пояснениями; – спортивная трансляция с разметкой интересных моментов (онтология содержит таксономию типов моментов – гол, удаление, штрафной и т.д.); – привязка субтитров к фильму; – караоке. Сегментация мультимедийного ресурса позволяет также формировать виртуальные ресурсы, динамически собирающиеся из тех сегментов основного ресурса, которые удовлетворяют заданным логическим ограничениям. Например, на основе серии лекций по линейной алгебре можно сформировать виртуальный фильм по матрицам (отбросив другие материалы) либо на основе спортивной трансляции автоматически сгенерировать виртуальный фильм о забитых голах. Таким № 2, 2012 г. образом, использование метаданных позволяет осуществлять удобную навигацию по ресурсу, быстро находить нужные сегменты и автоматически генерировать виртуальные ресурсы, основанные на метаданных. Следует отметить еще одно преимущество данного подхода. Поскольку онтологии по своей структуре являются замкнутыми переносимыми объектами, то возможно создание библиотек метаописаний с функцией их повторного использования для однотипных ресурсов. Через механизмы наследования можно создавать все более точные и развитые системы метаописаний, сохраняя при этом вертикальную совместимость с более простыми описаниями, от которых происходит наследование, вплоть до шаблонной онтологии. В частности, онтология, описывающая структуру абстрактной лекции, может быть легко экспортирована для метаописания разнообразных конкретных лекций. Еще одним примером такой структурной онтологии является онтология «оглавление». Она может легко импортироваться в любой мультимедийный ресурс, для которого структурирование в виде оглавления имеет смысл. В системе Libretto реализована специальная технология Require, позволяющая создавать распределенные среды разработки, развития и обмена онтологий через репозитории. Реализация подхода Технология, предлагаемая в настоящей работе, реализована в рамках двух систем: редактора метаописаний мультимедийных ресурсов MetaRecorder и специального проигрывателя мультимедийных ресурсов MetaPlayer с поддержкой навигации, базирующейся на метаописаниях. Редактор метаописаний обеспечивает процесс разработки системы метаданных, разметки ресурса, а также записи соответствующей онтологии в структуру файла. Получая на входе мультимедийный ресурс, редактор позволяет пользователю провести комплекс работ, связанных с разработкой метаданных этого ресурса. Основными функциями редактора являются: – экспорт/импорт мультимедийного ресурса; – экспорт/импорт онтологий, служащих основой для метаописаний; – разработка системы метаописаний на основе шаблонной и импортированных онтологий; – привязка к мультимедийному ресурсу внешних ресурсов (например, слайдов к видеолекции). Редактор позволяет пользователю размечать ресурс набором точек и фрагментов. Каждая точка привязывается к элементам онтологий, которые и несут смысловую нагрузку данного описания. Ресурс может содержать несколько мультимедийных файлов (например, отдельно видеофайл и звуко41 Программные продукты и системы вую дорожку). Итогом разметки является онтология, хранящая точки и фрагменты разметки и описания к ним. Эту онтологию пользователь может записать непосредственно в структуру ресурса с помощью модуля экспорта/импорта. Редактор метаданных мультимедийных ресурсов предоставляет интуитивно понятный и удобный графический пользовательский интерфейс, позволяющий осуществлять разметку аудио- и видеофайлов в соответствии с поставленными требованиями без специальных навыков (интерфейс интенсивно тестировался студентами). Редактор метаданных предназначен для разработчиков систем метаописаний, а также специалистов, задействованных в обработке мультимедийных ресурсов. Для обычных пользователей, которым необходимы лишь воспроизведение файлов и возможность доступа к метаданным без права редактирования, разработан специальный проигрыватель мультимедийных файлов MetaPlayer. Проигрыватель является инструментом, который реализует сценарии навигации, базирующиеся на имеющихся метаданных. MetaPlayer позволяет использовать преимущества технологии разметки для продвинутой навигации и генерирования виртуальных ресурсов. Мультимедийный проигрыватель может работать, как обычный видеоплеер, но, кроме того, он считывает метаданные из файла и организует навигацию и поиск по ресурсу в соответствии с этими метаданными. Запись онтологий в мультимедийные файлы и чтение из файлов осуществляются специально разработанной библиотекой экспорта-импорта онтологий, которая реализует возможности хранения онтологии непосредственно в структуре мультимедийного ресурса. Напомним, что в качестве систем метаданных выступают онтологии, хранящие точки и сегменты разметки ресурса. Для MetaPlayer – это точки и сегменты навигации. MetaPlayer импортирует онтологии из ресурса или иных внешних источников и использует для реализации дополнительных функций. В случае отсутствия метаданных MetaPlayer ведет себя, как обычный видеопроигрыватель. Внешне проигрыватель представляет собой графический пользовательский интерфейс, который состоит из трех модулей – панели управления, панели навигации по мультимедийному ресурсу и модуля отображения материалов, то есть основного видео, либо вспомогательного графического материала (например, слайдов презентации). Кроме стандартных, плеер предоставляет набор специальных функций, таких как – автоматическая загрузка онтологии метаданных из файла или репозитория с помощью модуля экспорта/импорта; – структурированное представление данных о точках и сегментах разметки на отдельной панели; 42 № 2, 2012 г. – организация универсальных сценариев навигации по мультимедийному ресурсу на основе его метаданных; – возможность отображения дополнительных мультимедийных материалов, хранимых в онтологии. Апробация показала, что в MetaPlayer реализован достаточно удобный и понятный для обычного пользователя интерфейс работы с дополнительной поддержкой чтения метаинформации из структуры самого ресурса. Помимо возможности навигации по ключевым логическим точкам и сегментам ресурса, пользователь имеет возможность получать всю информацию, связанную с этими точками. В настоящее время редактор мультимедийных ресурсов и проигрыватель поддерживают форматы mp3, wav, avi и flv. В заключение следует отметить, что в данной работе рассмотрена технология метаописания мультимедийных ресурсов, основанная на использовании объектных онтологий. Разработана общая концепция формирования метаданных для мультимедийного ресурса, базирующаяся на формальном описании предметных областей, релевантных тематике ресурса. Кроме того, разработан объектный подход, в котором конкретные системы метаописаний строятся как наследники, уточняющие структуру некоторой базовой (шаблонной) онтологии. Шаблонная онтология описывает ключевые абстрактные понятия точки и сегмента метаописания мультимедийного ресурса и является базой для функционирования основных систем технологии – редактора метаописаний и специализированного проигрывателя MetaPlayer. Разработанная технология метаописаний видео- и аудиоресурсов имеет большое количество потенциальных приложений. В частности, она активно применяется для формирования библиотеки видеолекций Научно-образовательного центра «Байкал» (г. Иркутск). Сгенерированные видеолекции находятся в открытом доступе (http://lake.baikal.ru). Системы зарегистрированы в Реестре программ для ЭВМ. Литература 1. Wang T. [et al.]. MetaData Pro: Ontology-Based Metadata Processing for Web Resources // Lecture Notes in Computer Science. 2004. Vol. 3307, pp. 34–45. 2. Малых А.А., Манцивода А.В., Ульянов В.С. Логические архитектуры и объектно-ориентированный подход // Вестн. НГУ. Сер.: Математика, механика, информатика. 2009. Т. 9. № 3. С. 64–85. 3. Малых А.А., Манцивода А.В. Объектно-ориентированная дескриптивная логика // Изв. ИГУ. Сер. Математика. 2011. № 1. 4. Манцивода А.В., Стукушин Н.О. Спецификации как онтологии // Программные продукты и системы. 2009. № 4. С. 37–43. 5. Манцивода А.В., Стукушин Н.О. Объектные модели и распределенные системы знаний // Изв. ИГУ. Сер. Математика. 2010. № 4. С. 65–79. Программные продукты и системы № 2, 2012 г. УДК 004.75 УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ ИНФОРМАТИЗИРОВАННЫХ БИЗНЕС-ПРОЦЕССОВ И.В. Логинов, к.т.н. (Академия ФСО России, г. Орел, liv@academ.msk.rsnet.ru) Рассматриваются бизнес-процессы предприятий, для которых характерно активное использование информационных и автоматизированных технологий. Для таких бизнес-процессов, получивших название информатизированных, предложен подход к административному управлению развитием на основе использования гибких гибридных моделей на всех этапах жизненного цикла. Ключевые слова: бизнес-процесс, автоматизация, информатизация, управление, гибкая модель, развитие, жизненный цикл. Существующие методы и способы управления предприятиями и организациями предполагают использование процессного подхода, в рамках которого определяются основные, обеспечивающие и вспомогательные бизнес-процессы. Автоматизация и информатизация управления и функционирования предприятий на современном этапе значительно изменяют бизнес-процессы. При этом для многих из них средства автоматизации выступают в качестве основного средства функционирования. Такие бизнес-процессы, для которых средства автоматизации и информатизации являются неотъемлемым элементом, будем называть информатизированными. Существующее состояние развития методов организации предприятий характеризуется расширением роли и места информатизированных бизнес-процессов. Исходя из этого, при модернизации АСУ предприятия целесообразно обеспечивать развитие не только ИТ-инфраструктуры, но и самих информатизированных бизнес-процессов. Совершенствование АСУ предприятий, в том числе управление системной динамикой, рассматривается с позиций совершенствования организационной [1] и технической [2] составляющих. При этом вопросам, связанным с административным управлением бизнес-процессами на всех этапах жизненного цикла, уделяется недостаточно внимания, сводящегося к моделированию бизнес-процессов [3] и выявлению на их основе узких мест с последующим совершенствованием (реинжинирингом бизнес-процессов). Если, например, для ИТ-сервисов существуют подходы, реализуемые в различных методологиях, например ITIL, связанные с генерацией и вводом в эксплуатацию, то для бизнес-процессов, имеющих более важное значение, таких методик в явном виде нет. Управление бизнес-процессами, в том числе их создание и модернизация, возложено на функциональных руководителей, решения которых зачастую являются малообоснованными. При этом только в некоторых крупных организациях выделяются специальные подразделения (например, отделы бизнес-администрирования), осуществляющие функции управления бизнес-процессами на всех этапах их жизненного цикла. Для информатизированных бизнес-процессов это приводит к тому, что степень обоснования их структуры в большинстве случаев значительно ниже, чем поддерживающей ИТ-инфраструктуры. Данное обстоятельство обусловливает необходимость разработки методики административного управления бизнес-процессами на всех этапах их жизненного цикла. Для решения этой задачи предлагается подход к управлению информатизированными бизнес-процессами, базирующийся на основе использования гибких гибридных моделей и управления всем жизненным циклом. Информатизированные бизнес-процессы предприятия Для предприятий всех видов экономической деятельности можно выделить множество основных, вспомогательных и обеспечивающих бизнеспроцессов. Основные бизнес-процессы направлены на выпуск товаров и оказание услуг. Обеспечивающие и вспомогательные бизнес-процессы позволяют выполнять основные процессы и могут реализовываться как подразделениями предприятия, так и сторонними организациями. Выделяются также процессы управления, которые предназначены для контроля над функционированием всех процессов предприятия [4]. В настоящее время происходит планомерный рост уровня автоматизации бизнес-процессов, что приводит к существенному повышению их эффективности за счет – повышения оперативности выполнения операций благодаря автоматизации отдельных функций; – снижения ресурсоемкости из-за освобождения персонала и повышения коэффициента использования основных средств; – повышения результативности основных бизнес-процессов, то есть качества товара или услуг, предоставляемых потребителям. Средства автоматизации бизнес-процессов входят в состав ИТ-инфраструктуры предприятия. 43 Программные продукты и системы При этом они могут выступать в качестве как основного средства (ИТ-сфера, телекоммуникации, интернет-торговля, маркетинг), так и вспомогательного, повышающего качество управления. Тенденцией развития является повышение роли информационных и автоматизированных средств в составе бизнес-процессов. Информатизированные бизнес-процессы характеризуются высокой степенью автоматизации выполнения большинства их этапов. Отдельные этапы таких бизнес-процессов могут быть полностью автоматическими. Средства информатизации и автоматизации являются неотъемлемой частью информатизированных бизнес-процессов. Такие бизнес-процессы характерны для различных видов экономической деятельности, однако наибольшее распространение получили в области информационного обслуживания (автоматическая и автоматизированная помощь в выборе продуктов и услуг, заказ товаров, уведомление о ходе исполнения заказа). Значительную долю информатизированных бизнес-процессов составляют процессы управления предприятием, для обеспечения которых внедрены корпоративные информационные системы различного назначения (CRM-, MES-, ERP-системы). Внедрение систем электронного документооборота, планирования производства, управления предприятием, взаимодействия с потребителями и поставщиками привело к изменению соответствующих процессов контроля и управления и обусловило необходимость их адаптации под возможности средств автоматизации. Примером информатизированных бизнес-процессов могут выступать процессы, связанные с внутренним и внешним документооборотом. Использование систем автоматизации документооборота предполагает разработку форм документов и маршрутов их прохождения, которые оказывают решающее влияние на эффективность бизнес-процессов в целом. При модернизации информатизированных бизнес-процессов это приводит не к адаптации средств автоматизации под существующий бизнес-процесс, а к реинжинирингу бизнес-процесса с учетом ограничений и возможностей новых средств автоматизации. Вследствие повышения роли средств и систем автоматизации и информатизации в бизнес-процессе происходит изменение и самого бизнес-процесса, и взаимодействия бизнес-процессов в рамках предприятия. В первую очередь, это связано с необходимостью более высокой степени формализации бизнес-процесса, поскольку информационные системы могут работать только с формальными описаниями, для которых они эффективны. В противном случае использование средств автоматизации без соответствующего изменения бизнес-процессов приведет к неэффективному расходу ресурсов и параметры процесса могут ухудшиться. 44 № 2, 2012 г. Управление информатизированными бизнес-процессами Данное управление осуществляется на двух уровнях – оперативном и административном. Оперативное управление процессами выполняется для поддержания параметров процессов в заданных диапазонах, а также для решения задач исправления частных ошибок и рассогласованности. Административное управление осуществляется при изменении внешних условий (рынка, законодательства, действий конкурентов и т.п.) или внутренних (выпуск нового продукта или услуги), а также для повышения его эффективности за счет внедрения инноваций. Оперативное управление бизнес-процессами реализуется с использованием процессов управления, которые осуществляют соответствующе структуры предприятия. При этом ведутся мониторинг, оценивание состояния бизнес-процесса, принимаются решения о его корректировке и реализуются управляющие воздействия. Для оперативного управления информатизированными бизнес-процессами используются средства автоматизации такого управления – системы, в английской технической литературе получившие название business process management systems (BPM-systems). Они предназначены для осуществления всего комплекса мер по оперативному управлению бизнес-процессами и реализуют функции стратегического и оперативного планирования и бюджетирования, консолидации и отчетности, прогнозирования и анализа. Для решения вспомогательных задач анализа бизнес-процессов используются средства Business Intelligence: оценочные панели, средства отчетности и аналитические инструменты. Системы административного управления бизнес-процессами получили меньшее распространение. Они выполняют функции визуализации, моделирования, оценивания и оптимизации. Это такие средства, как Adobe LiveCycle Process Management ES2, Documentum Process Suite, Oracle Business Process Management. Рынок BPM-систем, по оценкам IDC, составляет около 5 млрд долларов и имеет тенденции к росту. С точки зрения автоматизации административного управления решаются частные задачи управления бизнес-процессами, а для управления информатизированными бизнес-процессами на всех этапах жизненного цикла требуется использование комплекса таких средств. На российском рынке присутствуют как отечественные, так и иностранные разработки. Существующие системы управления бизнес-процессами ориентированы на стандартные бизнес-процессы, для которых средства информатизации не играют определяющей роли, однако имеют широкий диапазон подстройки. Исходя из этого возникает необходимость в управлении информатизированными бизнес-процессами на всех этапах их жизненного цикла, обу- Программные продукты и системы словленная тем, что использование автоматизированных и информационных систем в качестве основного средства бизнес-процесса требует его высокой формализации. Это необходимо для определения требуемых ресурсов ИТ-инфраструктуры, а также для сопряжения с внешними бизнеси ИТ-системами. Решение задачи управления системной динамикой бизнес-процессов даст возможность согласовать их развитие с требованиями предприятия и условиями внешней среды. Административное управление бизнес-процессами Для управления развитием бизнес-процессов необходимы интегрированные средства, которые позволяют описать сам бизнес-процесс и средства его обеспечения, а также методики по их использованию. С этой целью необходимо совершенствовать существующие системы BPM, расширяя их функциональность. Это достигается путем их дополнения средствами мониторинга, распределенного моделирования и анализа бизнес-процессов. Такие средства включают гибридные модели бизнес-процессов, интегрированные с гибридной моделью ИТ-инфраструктуры, и особые системы гибкого моделирования для анализа информатизированных бизнес-процессов. Управление бизнес-процессами предлагается осуществлять непрерывно, при этом каждый цикл управления предполагает несколько этапов. Этапы административного управления информатизированными бизнес-процессами согласно предлагаемой методике включают: – мониторинг бизнес-процессов, предприятия и внешней среды; – определение состояния бизнес-процессов; – определение требуемого состояния (области допустимых значений); – определение рассогласований и постановку формализованной задачи развития бизнес-процесса (генерацию нового бизнес-процесса или модернизацию существующего); – генерацию альтернатив развития бизнеспроцесса; – упорядочение и выбор лучшей альтернативы; – разработку плана мероприятий; – реализацию управляющих воздействий (перераспределение функций и ресурсов); – оперативное управление и контроль за модификацией бизнес-процесса. При этом осуществляются поддержание и развитие гибридной модели бизнес-процессов предприятия, модифицируемой при изменении структуры бизнес-процессов. В качестве основы для моделирования процессов используются системы моделирования BPMN, IDEF0, eEPC, IPM-PDL, BPEL. Гибридная модель включает также анали- № 2, 2012 г. тические, имитационные, потоковые и другие виды моделей. Так как на предприятии существует множество бизнес-процессов, большинство из которых неформализовано, гибридная модель с течением времени пополняется. Для административного управления информатизированными бизнес-процессами предлагается расширить функциональность существующих программных комплексов BPM-систем путем введения функциональных возможностей управления всеми стадиями и процессами жизненного цикла. Основными компонентами, расширяющими функциональность BPM-систем, являются: – активные средства мониторинга, предназначенные, в отличие от существующих, для выявления неформализованных компонентов бизнеспроцессов, а также условий внешней среды и реализующие функции интегрального непрерывного мониторинга технических и организационных компонентов бизнес-процессов; – распределенные средства моделирования информатизированных бизнес-процессов с базами гибридных моделей для анализа эффективности и прогнозирования состояния бизнес-процессов. Комплекс средств административного управления информатизированными бизнес-процессами может быть разработан на основе сервис-ориентированных технологий с поддержкой веб-сервисов администрирования [5]. Для взаимодействия между отдельными подсистемами осуществляется обмен документами в формате XML. Значительную роль в совершенствовании могут играть внедрение онтологий для описания предметной области бизнес-процессов и их интеграция на основе Semantic Web. Основными функциями комплексной системы автоматизации административного управления бизнес-процессами выступают функции отслеживания эффективности бизнес-процессов и их модернизации в соответствии с целями предприятия и условиями внешней среды. Такие средства предлагается использовать и для подготовки предложений по проектированию новых бизнес-процессов. Использование средств автоматизации для управления бизнес-процессами на основе модифицированных систем BPM и их интеграции с гибридными моделями позволит повысить обоснованность предложений по совершенствованию бизнес-процессов как при их модернизации, так и при внедрении новых. Применение таких систем особенно актуально при модернизации информатизированных бизнес-процессов, для которых важно оценивать возможности и ограничения средств автоматизации и информатизации и их эффективность для функционирования бизнеспроцесса. Управление на всех этапах жизненного цикла бизнес-процессов по аналогии с сервисами в ИТ-сфере позволит повысить эффективность использования ресурсов предприятия. 45 Программные продукты и системы № 2, 2012 г. Подытоживая, отметим, что в работе рассмотрен подход к совершенствованию управления информатизированными бизнес-процессами предприятия, для которых системы автоматизации и информатизации выступают в качестве основного средства. Для этого предлагается создавать комплексные системы управления жизненным циклом бизнес-процессов, входящих в состав системы бизнес-администрирования. Основой средств автоматизации выступают в данном случае расширенные BPM-системы со средствами активного мониторинга и распределенного моделирования, а также гибкая гибридная модель бизнес-процессов предприятия и ИТ-инфраструктуры. Введение административного управления бизнес-процессами позволит упорядочить их функционирование, повысить эффективность их организации, а также УДК 004.657 снизить расход ресурсов для крупных предприятий. Литература 1. Гордов О.В. Технологии управления бизнес-процессами организаций // Вестн. ТГУ. 2008. Вып. 8 (64). С. 364–368. 2. Комплексное планирование модернизации информационных систем: методологические и методические основы / Б.В. Соколов [и др.]: тр. СПИИРАН. Вып. 3. Т. 1. СПб: Наука, 2006. С. 265–278. 3. April J., Better M., Glover F., Kelly J., Laguna M. Enhancing business process management with simulation optimization // Proceedings of the 2006 Winter Simulation Conference. Institute of Electrical and Electronics Engineers (IEEE), Piscataway, pp. 642–649. 4. Куликов Г.Г., Конев К.А. Методология управления машиностроительным предприятием на основе интеграции его бизнес-процессов // Вестн. УГАТУ. Т. 7. № 2 (15). С. 82–91. 5. Zhao J.L., Cheng H.K. Web services and process management: a union of convenience or a new area of research? // Decision Support Systems. 2005. № 40, pp. 1–8. УСКОРЕНИЕ ПОИСКА В ИНДЕКСАХ НА ОСНОВЕ R-ДЕРЕВЬЕВ А.Ф. Чернов (Вологодский государственный технический университет, chernovaf@mail.ru) Рассмотрена модификация индексных методов доступа в СУБД, основанных на R-деревьях. Доработка направлена на ускорение поиска с использованием индекса. Модификация проводилась в два этапа, на каждом из которых вносились изменения во внутреннюю структуру поискового дерева. В итоге была проведена проверка эффективности использованных решений на различном содержимом БД. Ключевые слова: СУБД, индекс, метод доступа, R-деревья, PostgreSQL, ускорение поиска, сложные типы данных. Индексные методы доступа к данным прошли большой путь развития и совершенствования. Существует множество подходов к построению поисковых индексов, таких как использование битовых карт, структур B-деревьев, B+-деревьев, R-деревьев и др. Подходы объединяет метод доступа к БД, а именно: дополнительно строятся специальные структуры данных, использование которых ускоряет поиск. Однако ни один индексный метод доступа к данным не является универсальным: для различных, особенно сложных и специфических, типов данных необходимо выбирать или даже реализовывать новые методы быстрого доступа – этим и обусловлена актуальность проблемы. В настоящее время уже существуют обобщенные методы доступа к данным различных типов. Как правило, они базируются на аппарате R-деревьев, обладающем наибольшей гибкостью. Например, структура GIST-индекса, предложенная Джозефом Хеллерстейном, используется в СУБД PostgreSQL (открытая СУБД с большой функциональностью и возможностями расширения). 46 При постоянно увеличивающихся в размере БД возрастает и нагрузка на методы доступа к данным. Таким образом, индексный метод доступа должен обладать не только универсальностью, но и высокой эффективностью, удовлетворяющей современным требованиям. На повышение производительности обобщенного метода доступа на основе R-деревьев и направлена предложенная автором модернизация. Индексы на основе R-деревьев применяются для специфических, сложных типов данных, таких как пространственные объекты (например географические), биометрические (отпечаток пальца и др.), массивы (в том числе строки как массивы символов). Для индексации линейных данных (числа, символы, даты и т.д.), как правило, используются B-деревья, то есть R-деревья успешно применяются для данных, которые нельзя отсортировать вдоль одной оси [1]. Для индексирования таких типов данных необходимо в качестве поискового ключа использовать вспомогательную информацию. Подобно B-деревьям R-дерево представляет собой ветвистую сбалансированную древовидную Программные продукты и системы Текстовые фрагменты в лес свет ссуда мама № 2, 2012 г. Хеш символ и в Space р л е н с т з у д ф а м к Bitwise OR: 0000000110110110OR 0110110010000000= 0110110110110110 бит 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0110110110110110 Pointer to left Pointer to right subtree subtree Signature 0000000110110110 0110110010000000 Pointer to left Pointer to right subtree subtree Pointer to left Pointer to right subtree subtree 0000000010110110 0000000110100010 0010110010000000 0110000000000000 Pointer to «в лес» Pointer to «свет» Pointer to «ссуда» Pointer to «мама» Рис. 1 структуру, но с разной организацией внутренних и листовых страниц. В листовых узлах R-деревьев хранятся указатели на индексируемые объекты, а во внутренних – дополнительная информация об объектах [2]. Эту дополнительную информацию далее будем называть сигнатурой. В данной работе описывается модернизация сигнатур на примере индексирования текстовых данных. Пример R-дерева для индексации текстовых данных приведен на рисунке 1. Как видно из рисунка, сигнатуры внутренних узлов представляют собой набор признаков наличия в искомой фразе отдельных символов, где их связь с позициями признака в сигнатуре осуществляется через хеш. При поиске по индексу отбрасываются поддеревья, в сигнатурах которых отсутствует признак хотя бы одного символа, присутствующего в объекте текущего поиска. Особенность построенных таким образом индексов на основе R-деревьев в том, что поиск по дереву может приводить к ложным попаданиям, так называемым FalseDrop. Это обусловлено тем, что информация об индексируемых объектах, хранящаяся в сигнатурах, не является исчерпывающей. Так, в рассмотренном примере в сигнатурах хранится информация только о наличии отдельных символов в индексируемом объекте, но не учитываются ни порядок их расположения, ни их количество. Поэтому найденные по индексу объекты необходимо сравнивать с оригиналом, прочитанным из БД, отсеивая ложные попадания. Для этого требуются дополнительные чтения страниц БД, что на больших объемах данных значительно замедляет работу [3]. Таким образом, для увеличения производительности поиска по индексу на основе R-дерева за счет уменьшения количества ложных попаданий необходимо хранить в сигнатуре информацию о количестве и порядке расположения символов в объекте. Модернизацию сигнатур R-дерева вы- полним в два этапа, а именно путем добавления в сигнатуры информации о количестве символов в объекте и о порядке их расположения в объекте (нахождение символов на границе слов). Этап 1. Добавление в сигнатуры информации о количестве символов в объекте. При этом для каждого уникального символа текстового фрагмента в сигнатурах будет храниться информация о количестве таких символов, а не признак наличия. Физически это будет представлять собой байт информации (структура данных сигнатуры каждого уникального символа индексируемого объекта изображена на рис. 2). То есть максимально учитываемое количество одинаковых символов в объекте будет равно 28=256, что для текстовых фрагментов среднего размера вполне достаточно. 7 6 5 4 3 2 1 0 Количество символов в объекте Рис. 2 В таблице 1 приведены сигнатуры текстовых фрагментов из рисунка 1, содержащие информацию о количестве каждого уникального символа. Таблица 1 № 1 2 3 4 Строка в лес свет ссуда мама Сигнатура (в,1),( ,1),(л,1),(е,1),(с,1) (с,1),(в,1),(е,1),(т,1) (с,2),(у,1),(д,1),(а,1) (м,2),(а,2) Пример R-дерева для индексации текстовых данных из таблицы 1 приведен на рисунке 3. Производительность при такой модификации увеличивается при поиске объектов, содержащих 47 Программные продукты и системы № 2, 2012 г. (в,1),( ,1),(л,1),(е,1),(с,2),(т,1),(у,1),(д,1),(а,2),(м,2) Pointer to left subtree Pointer to right subtree (в,1),( ,1),(л,1),(е,1),(с,1),(т,1) (с,2),(у,1),(д,1),(а,2),(м,2) Pointer to left subtree Pointer to left Pointer to right subtree subtree Pointer to right subtree (в,1),( ,1),(л,1),(е,1),(с,1) (с,1),(в,1),(е,1),(т,1) (с,2),(у,1),(д,1),(а,1) (м,2),(а,2) Pointer to «в лес» Pointer to «свет» Pointer to «ссуда» Pointer to «мама» Рис. 3 48 для каждого уникального символа как признак того, что данный символ в текстовом фрагменте хо- Отношение к оригиналу, раз После исключения ложных попаданий, шт. Найдено по индексу, шт. Время поиска, мс Время построения индекса, мс Модификация R-деревьев Поиск ссуда мама ссуда мама в лес мама ссуда свет в лес 100`000 свет в лес 10`000 свет Объектов в БД, шт. Таблица 2 1`000`000 несколько одинаковых символов (например, «ссуда» или «мама»). Причина ускорения в том, что при проходе по дереву во время поиска отбрасываются поддеревья, в сигнатурах которых количество какого-либо уникального символа меньше, чем в объекте текущего поиска. При такой модификации сигнатуры хранят более подробную информацию об объектах, а не только признаки наличия символов. Именно поэтому уменьшается количество рассматриваемых поддеревьев при поиске, подходящих под искомую сигнатуру, а следовательно, и количество ложных попаданий. Наиболее успешно такое решение реализуется для данных, представляющих собой наборы элементов (массивы, строки как массивы символов и т.п.). Проверка эффективности этого решения проводилась на программе, эмулирующей работу СУБД PostgreSQL в плане использования индексов на основе R-деревьев. Программа написана с достаточно точной аналогией, включая внутреннюю структуру R-дерева, интерфейсные функции для работы с деревом и постраничное обращение к БД. Текстовые данные в БД были сгенерированы со следующими параметрами: хранимые объекты – текстовые строки, размер объектов – от 1 до 40, элементы строк – случайные символы (154 различных символа с учетом регистра). Тестирование выполнялось на трех наполнениях БД: 10 тысяч записей, 100 тысяч записей и 1 миллион записей. На сгенерированной БД выполнялся поиск строк «свет», «ссуда» и «мама» с использованием индекса на основе R-деревьев. Результаты проверки эффективности приведены в таблице 2. Этап 2. Добавление в сигнатуры информации о нахождении символов на границе слов. Для этого используем разбиение индексируемого объекта на части и хранение в сигнатурах информации о границах данных частей. Такие части индексируемых объектов назовем фреймами. В случае с текстовыми данными в качестве фреймов, естественно, удобно использовать слова. Технически добавим в сигнатуры по 1 биту информации Оригинал 2’158 11 45 1 1,00 После этапа 1 После этапа 2 Оригинал После этапа 1 После этапа 2 Оригинал После этапа 1 После этапа 2 Оригинал После этапа 1 После этапа 2 Оригинал 2’200 2’298 2’158 2’200 2’298 2’158 2’200 2’298 2’158 2’200 2’298 22’212 10 12 11 7 7 32 5 5 9 8 4 87 45 45 49 30 30 193 22 22 35 35 6 379 1 1 1 1 1 2 2 2 1 1 1 10 1,10 0,92 1,00 1,57 1,57 1,00 6,40 6,40 1,00 1,13 2,25 1,00 После этапа 1 22’585 После этапа 2 23’398 Оригинал 22’212 После этапа 1 22’585 После этапа 2 23’398 Оригинал 22’212 После этапа 1 22’585 После этапа 2 23’998 Оригинал 22’212 После этапа 1 22’585 После этапа 2 23’398 Оригинал 207’942 81 90 101 44 45 305 30 34 71 67 27 888 379 379 401 247 247 1875 187 187 305 305 47 3’885 10 10 10 10 10 18 18 18 7 7 7 90 1,07 0,97 1,00 2,30 2,24 1,00 10,17 8,97 1,00 0,94 2,63 1,00 215’163 826 3’885 221’270 925 3’885 207’942 1’062 4’275 215’163 461 2’562 221’270 463 2’562 207’942 3’217 18’866 215’163 320 1’876 221’270 340 1’876 207’942 786 3’286 215’163 708 3’286 221’270 263 530 90 90 90 90 90 175 175 175 80 80 80 1,08 0,96 1,00 2,30 2,29 1,00 10,05 9,46 1,00 1,11 2,99 После этапа 1 После этапа 2 Оригинал После этапа 1 После этапа 2 Оригинал После этапа 1 После этапа 2 Оригинал После этапа 1 После этапа 2 Программные продукты и системы № 2, 2012 г. тя бы раз находился на границе фрейма. Данным флагом будем пользоваться при поиске по дереву. В результате структура данных сигнатуры для каждого уникального символа примет вид, изображенный на рисунке 4. 7 6 5 4 3 2 1 0 Количество символов в объекте Признак граничного символа (разделители (){}[]<>'"?!.,:;^+-*/\) Рис. 4 Как видно из рисунка, бит граничного символа берется из того же байта, где хранится количество символов. Таким образом, максимально учитываемое количество одинаковых символов уменьшится до 27=128. Этого достаточно для текстовых фрагментов среднего размера. При превышении данного количества одинаковых символов ничего страшного не произойдет, оно все равно будет интерпретироваться как 128, что не сделает производительность эффективнее. В таблице 3 приведены сигнатуры текстовых фрагментов из рисунка 1, содержащие как количество, так и признак нахождения на границе фрейма, для каждого уникального символа. Таблица 3 № Строка Сигнатура 1 в лес (в,+,1),( ,-,1),(л,+,1),(е,-,1),(с,-,1) 2 свет (с,-,1),(в,-,1),(е,-,1),(т,-,1) 3 4 ссуда мама (с,-,2),(у,-,1),(д,-,1),(а,-,1) (м,-,2),(а,-,2) Пример R-дерева для индексации текстовых данных из таблицы 3 приведен на рисунке 5. Производительность поиска после добавления признака граничного символа в сигнатуры увели- чивается, когда ищутся объекты, состоящие из нескольких слов (например «в лес»). Причина ускорения в том, что при проходе по дереву во время поиска отбрасываются поддеревья, сигнатуры которых, хотя и содержат все символы из искомой фразы, но удовлетворяют следующему условию: хотя бы один из символов сигнатуры поддерева не является граничным, в то время как этот же символ в сигнатуре искомой фразы граничным является. При такой модификации сигнатуры хранят еще более подробную информацию об объектах, а не только количество символов. Именно поэтому при поиске снижается количество рассматриваемых поддеревьев, подходящих под искомую сигнатуру, следовательно, уменьшается количество ложных попаданий. Наиболее успешно это решение реализуется для данных, представляющих собой наборы элементов (массивы, строки как массивы символов и т.п.). Однако признак граничного элемента можно успешно применять для индексирования, например, пространственных данных. Проверка эффективности данного решения производилась аналогично этапу 1, но выполнялся поиск строки «в лес». Результаты проверки эффективности приведены в таблице 2. Проверка производительности показала увеличение скорости поиска после реализации каждого из этапов модернизации. 1. После реализации этапа 1 существенно увеличилась скорость поиска слов с несколькими одинаковыми символами: – поиск слова «ссуда» на миллионе записей ускорился более чем в 2 раза; – производительность поиска слова «мама» увеличилась более чем на порядок. 2. После реализации этапа 2 существенно увеличилась скорость поиска текстовых фрагментов, состоящих из нескольких слов: – поиск фразы «в лес» на миллионе записей ускорился в 3 раза. (в,+,1),( ,-,1),(л,+,1),(е,-,1),(с,-,2),(т,-,1),(у,-,1),(д,-,1),(а,-,2),(м,-,2) Pointer to left subtree (с,-,2),(у,-,1),(д,-,1),(а,-,2),(м,-,2) (в,+,1),( ,-,1),(л,+,1),(е,-,1),(с,-,1),(т,-,1) Pointer to left subtree Pointer to right subtree Pointer to right subtree Pointer to left subtree Pointer to right subtree (в,+,1),( ,-,1),(л,+,1),(е,-,1),(с,-,1) (с,-,1),(в,-,1),(е,-,1),(т,-,1) (с,-,2),(у,-,1),(д,-,1),(а,-,1) (м,-,2),(а,-,2) Pointer to «в лес» Pointer to «свет» Pointer to «ссуда» Pointer to «мама» Рис. 5 49 Программные продукты и системы Кроме того, из полученных замеров производительности видно, что положительный эффект от модернизации при поиске по индексу на основе R-деревьев растет с увеличением количества записей в БД. Это является достоинством выполненной доработки, учитывая постоянно увеличивающийся объем современных БД. Следует отметить, что наблюдается некоторое снижение производительности при поиске строк, не затронутых изменениями в индексе. То есть строк, состоящих из одного слова, в которых каждый символ фигурирует только один раз (среди протестированных – слово «свет»). Это объясняется выполнением дополнительных проверок при проходе по дереву индекса во время поиска. Однако данный негативный эффект снижается при увеличении количества записей в БД и на миллионе записей составляет всего 4 %, что свидетельствует об увеличении общего времени поиска. Выполненная модернизация сигнатур R-деревьев станет эффективной не только для текстовых данных, но и для – числовых массивов (реализация будет практически неизменна, так как массивы, как и строки, представляют собой набор элементов); – пространственных данных (точки, линии, полигоны и т.д.). Для таких данных можно аналогично использовать признак граничного символа в сигнатурах R-деревьев. Объектами-разделителями будут выбраны те, которые удобно использовать в этом качестве (например, имеющие максимальное количество соседних объектов). Граничными при этом будут объекты, находящиеся на определенном расстоянии от объектов-разделителей. Данное расстояние зависит от плотности расположения объектов на индексируемой карте: чем плотнее расположены объекты, тем меньше используемое расстояние. Таким образом, при достаточно плотной карте с большим количеством объектов (например, карте мегаполиса) использование признака граничного символа будет давать эффект, как и при его использовании в текстовых данных и массивах. В дальнейшем планируется оптимизировать использование информации о границах фрейма при поиске по индексу, основанному на R-деревьях (этап 2), и реализовать динамический список разделителей фреймов, а не только статический, как было сделано выше. Разделителем сможет стать любой символ, который удобно использовать для конкретного текущего наполнения БД. Обновлять информацию о разделителях планируется периодически, запуская анализ БД. К примеру, в СУБД PostgreSQL для таких целей существует специальная команда VACUUM ANALYZE, периодически выполняемая администратором БД. При этом ожидается повышение производительности поиска в результате увеличения вероятности нахождения в искомой фразе граничных сим50 № 2, 2012 г. волов, что является результатом грамотного выбора разделителей при анализе наполнения БД. Для этого необходимо сформулировать критерии выбора символа в качестве разделителя. Таким образом, в результате такой модификации возрастет универсальность использования информации о границах фреймов. На данном этапе можно выделить единственный критерий выбора символа в качестве разделителя – количество порожденных граничных символов, если бы разделителем был только данный символ. Алгоритм формирования динамического списка разделителей для конкретного наполнения БД представляется следующим: – рассчитывается числовое значение данного критерия для каждого уникального символа, встречающегося в индексируемом тексте; – символы сортируются по убыванию данного значения; – в динамический список разделителей из вершины списка отбирается такое количество символов, при котором общее количество граничных символов в индексируемом тексте будет максимальным; наличие максимума обязательно и объясняется тем, что сами символы-разделители граничными не являются. Таким образом, построенный по данному алгоритму набор символов-разделителей для конкретного содержимого БД станет оптимальным и даст максимальный эффект, так как вероятность нахождения граничных символов в искомой фразе будет максимальной. В целом данный алгоритм необходимо тщательно проанализировать и проверить на индексировании различных реальных данных, чтобы убедиться в его универсальности. Кроме того, данную модернизацию индексов на основе R-деревьев планируется выполнить c использованием реальной СУБД – PostgreSQL, поскольку у нее открытая лицензия (BSD), внедрено использование индексов на основе R-деревьев с большими возможностями для расширений (база для модернизации), существует удобный интерфейс API для программ на C/C++ (будет использоваться для наполнения БД). В результате эффективность модернизации будет проверена в реальной информационной системе. Следует отметить, что описанная в данной работе модернизация индексов на основе R-деревьев оправдала ожидания специалистов. Литература 1. Руководство пользователя PostGIS. URL: http://postgresql. ru.net/postgis/index.html (дата обращения: 10.02.2011). 2. Методы сортировки и поиска: обзор методов поиска на основе деревьев. URL: http://megalib.com/books/134/index2.htm (дата обращения: 18.08.2009). 3. Бартунов О.С., Сигаев Ф.Г. Специализированные типы данных для цифровых библиотек / Электронные библиотеки: перспективные методы и технологии, электронные коллекции: матер. Всеросс. науч. конф. Переславль-Залесский, 2007. Программные продукты и системы № 2, 2012 г. УДК 004.42 СТРУКТУРА ЦИФРОВОГО ОРГАНИЗМА В САМООРГАНИЗУЮЩИХСЯ ПРОГРАММНЫХ СИСТЕМАХ Е.А. Кольчугина, к.т.н. (Пензенский государственный университет, kea@pnzgu.ru) Введено понятие самоорганизующейся программной системы. Предложено описание структуры цифрового организма в терминах теории нумераций. Ключевые слова: самоорганизация, искусственная химия, нумерации, программный агент. Самоорганизацией называется способность систем к самоупорядочению в ответ на неспецифические внешние воздействия благодаря внутрисистемным взаимодействиям. Выраженным проявлением самоорганизации может служить образование функционально упорядоченных пространственно-временных структур. Применительно к программным системам способность к самоорганизации может означать: – способность к самовосстановлению после сбоев и повреждений; – способность к самообучению и адаптации; – саморазвитие и самоконструирование программных систем вплоть до появления программ с совершенно новыми, ранее не ожидавшимися проектировщиком, но полезными свойствами. Полностью самоорганизующаяся программная система – это система, которая образуется в результате процессов самоорганизации, проходящих в специальным образом устроенной среде. В такой системе процессы самоорганизации присутствуют на всех последующих этапах жизненного цикла, так как система не изымается из породившей ее среды. Программная система, полученная путем самоорганизации, отличается от полностью самоорганизующейся системы тем, что по достижении ею какого-либо состояния, удовлетворительного с точки зрения проектировщиков или конечных пользователей, она извлекается из среды, в которой была получена, и в дальнейшем процессы самоорганизации в ней не происходят, система фиксируется в состоянии как она есть. Главными вопросами создания самоорганизующихся программных систем являются: – определение принципов построения сред, в которых могут происходить процессы самоорганизации; – определение правил, регулирующих процессы самоорганизации и задающих критерии оптимальности решения. Самоорганизация и модели искусственной химии В [1] выделены два вида самоорганизации: когерентная (или синергетическая) и континуальная (или синкретическая). Первый вид самоорганизации связан с упорядочением на уровне макросистем путем согласования параметров микросистем. Примерами такой самоорганизации служат когерентность излучения в лазере, образование ячеек Бенара, коллективное поведение живых организмов и программных агентов. Второй вид самоорганизации связан с упорядочением на уровне микросистем, когда благодаря взаимодействию разнородных компонентов образуются целостные системные объекты. Средой для такого вида самоорганизации служат кинетические континуумы веществ и процессов, то есть множества химических реакций. Именно этот вид самоорганизации привел к появлению сначала биомолекул, а затем и живых организмов. Самоорганизация синкретического типа является более сильным видом самоорганизации, так как приводит к появлению принципиально новых структур. Для исследования процессов такой самоорганизации можно использовать модели искусственной химии подраздела теории искусственной жизни. Целью разработки модели алгоритмической химии AlChemy У. Фонтана [2] было исследование возникновения новшеств, в первую очередь, появление в модели новых структур и правил. Правила преобразования структур соответствовали реакциям, а сами структуры – молекулам. Фонтана обратил внимание на взаимную двойственность как молекул и реакций, так и данных и программного кода. Молекулы – это пространственные структуры, которые определяют функциональность как множество возможных реакций. Аналогично программы задают последовательности действий по обработке данных, но символьная запись программы может рассматриваться как данные. Данные и программы можно обобщенно рассматривать как функции от нуля (для данных) и большего числа аргументов. Функции в модели AlChemy рассматриваются как молекулы. Реакция в AlChemy представляет собой композицию функций, записанных на λ-подобном языке. Двойственность данных и программ была использована в моделях искусственной химии Tierra и Avida [3]. В этих моделях вводится понятие 51 Программные продукты и системы цифрового организма как строки псевдоассемблерных команд, которая может рассматриваться либо как данные и переписываться другими организмами, либо как набор инструкций процессора виртуальной ЭВМ. Структурная модель цифрового организма Для белковой жизни важное значение имеют молекулы нуклеиновых кислот: ДНК и РНК, участвующие в матричных процессах и являющиеся носителями наследуемой информации. Эти молекулы представляют собой цепочки оснований, группы которых кодируют аминокислоты, входящие в состав синтезируемых белков, определяющих как структурные, так и функциональные свойства организма, или его фенотип. При этом синтезируемые белки могут инициировать или, напротив, запрещать синтез других белков, то есть управлять реакциями. По аналогии для задания свойств цифрового организма, входящего в состав сообщества самоорганизующихся программных агентов, автором в [4] было предложно использовать кодовую числовую последовательность. При этом номер позиции в кодовой последовательности определяет кодируемое свойство, поведенческое или структурное, а код, содержащийся в позиции, определяет значение переменной состояния или программную реализацию некоторой полиморфной макрооперации или поведенческого блока. Таким образом, цифровой организм в модели [4] обладает генотипом и фенотипом. Кодовая последовательность, определяющая генотип организма и задающая первичную структуру цифровой ДНК, получила в модели [4] название суперхромосомы. Коды значений переменных и программных реализаций поведенческих блоков можно рассматривать как номерные множества нумераций [5]. Если для представления нумераций использовать БД, то номерные множества будут соответствовать ключам, на основе которых можно получить программные реализации поведенческих блоков и значения переменных состояния, то есть синтезировать фенотип цифрового организма. Нумерацией здесь и далее будем называть взаимнооднозначное отображение множества номеров на множество нумеруемых объектов: vObj: N1→Obj, N1⊆N0+. Обратную к vObj функцию назовем функцией индексирования: indObj: Obj→N1, ∀obj ∈ Obj : −1 νObj ( obj ) = indObj ( obj ) . Рассматривая структуру суперхромосомы, будем различать: – локусы, или элементарные участки суперхромосомы; 52 № 2, 2012 г. – номера, или индексы локусов; – значения, находящиеся в локусах суперхромосомы. Структура суперхромосомы может быть определена как множество локусов, упорядоченных по индексу [4]: StrSupChr = loc1 , loc2 , ¼, locn , n = Loc Loc = {loci }i =1 . Здесь Loc – не более чем счетное множество всех локусов, которые могут входить в состав структуры суперхромосомы. Индексы локусов будем определять с помощью функции IndLoc: Loc→NLoc, NLoc⊆N0+. Каждому локусу поставим в соответствие взаимнооднозначным образом элемент программы из множества Item=Params∪BH, то есть или глобальную переменную состояния из множества всех глобальных параменных состояния Params, или поведенческий блок bh∈BH, где BH = {bhi }i – множество всех блоков поведения: Locus: Item→ →Loc. С учетом того, что локусам соответствуют элементы программы, представляющие либо код, либо данные, множество локусов можно представить как Loc=LocBH∪LocParams,, LocBH∩LocPar=∅. Элементы множества Items можно обобщенно рассматривать как функции или аналоги молекул в модели AlChemy, а сам цифровой организм – как совокупность молекул и реакций [6]. Можно построить функцию, ставящую в соответствие каждому элементу программы индекс локуса в структуре суперхромосомы и являющуюся композицией функций Locus и ind Loc : Pos: Items ® N Loc , N Loc Í N 0+ , Pos = ind Loc Locus. На рисунке 1 приведена коммутативная диаграмма для функций Pos, Locus, indLoc. Рис. 1 Каждому параметру состояния можно поставить в соответствие множество всех его возможных значений, а каждому блоку поведения – множество всех его возможных программных реализаций. Такие множества будем называть доменами, для их определения введем отображение Программные продукты и системы № 2, 2012 г. ( ) P Val + P Code DomItems : Items ® {Yi }i =(1 ) ( ) , SupChr ai , t j = ∀Yi :(Yi ∈ P (Val ) ) ⊕ (Yi ∈ P ( Code ) ) , = iv ai , t j , ind Loc (loc0 ) ,¼, iv ai , t j , ind Loc (locn ) . ( Val ∩ Code = ∅ , где Val – множество всех возможных значений для всех параметров из Params; Code – множество всех возможных программных реализаций для всех элементов BH; P(X) – булеан X; ⊕ – знак, обозначающий операцию «исключающее ИЛИ». Каждое множество Yi является элементом одного из булеанов, то есть подмножеством либо Val, либо Code. Используя отображение Pos и функции indYi , заданные на всех множествах Yi, свяжем индекс локуса с множеством индексов возможных значений или программных реализаций соответствующего элемента программы: DomN Loc : N Loc → { ( ) } → Z i ∀Z i = Im indY i ∪ Null P(Val ) + P ( Code ) . ) ( ) Операции над цифровой ДНК Над введенной первичной структурой цифровой ДНК в первую очередь могут быть выполнены операции, являющиеся аналогами операций генетических алгоритмов [4]. Но основной операцией следует считать сборку цифрового организма на основе кодовой последовательности (цифровой ДНК) и БД (рис. 2). Для реализации операции сборки необходим отдельный системный процесс, который будет одновременно контролировать отсутствие аномалий и проверять на основе заданной системы правил допустимость присутствия в вычислительной среде цифрового организма с закодированными в цифровой ДНК свойствами. i =1 Здесь каждому номеру локуса ставится в соответствие множество значений функций индексирования (Im(X) – область значений X), заданных на множествах Yi. Каждое множество значений функции индексирования дополняется особым элементом Null, означающим, что для элемента программы не определены (отсутствуют) значение или реализация. Отображение DomN Loc позволяет определять множество значений для каждого локуса суперхромосомы по индексу локуса. Структура суперхромосомы описывает общий принцип организации цифровой ДНК для всех программных агентов (цифровых организмов) данной модели, то есть задает шаблон. Конкретный экземпляр цифровой ДНК, то есть сама суперхромосома, отражает состояние генома конкретного агента в определенный момент времени. Функция iv позволяет вычислить значение локуса в заданное время tj∈T для цифрового организма ai∈A: iv : A´T ´ N Loc ® DomNLoc (N Loc ) , где A = {ai }i – не более чем счетное множество всех цифровых организмов (программных агентов); T – время, заданное как линейно упорядоченное множество T = {ti | ( ∀ti ∈ N0+ ) ti < ti+1} . В общем случае iv ai , t j , ind Loc (lock ) Î DomN Loc ind Loc (lock ) , Реализация предложенной модели цифрового организма может быть выполнена с использованием различных средств: языков скриптового типа, XML или языков типа С\С++. а ситуации, когда это неверно, являются аномальными. На основе функции iv можно дать описание суперхромсомы, или цифровой ДНК, как последовательности значений, описывающей состояние особи ai∈A в момент tj∈T: В заключение можно сделать следующие выводы. Совместное применение результатов теории искусственной жизни и теории нумераций позволяет создать модель программной системы, в которой возможны процессы самоорганизации когерентного и континуального типов, что свидетель- ( ) ( ) Рис. 2 53 Программные продукты и системы ствует о прогрессивной эволюции и появлении программных агентов с совершенно новыми свойствами. Необходимо подчеркнуть, что процессы самоорганизации должны происходить только в среде виртуальной ЭВМ, множество команд которой полностью отличается от множества команд реально используемого физического процессора. Только такой подход гарантирует управляемость процессов самоорганизации и их безопасность, так как имеется возможность непосредственного анализа генотипа цифровых организмов и исключения выполнения программных агентов с нежелательными свойствами. № 2, 2012 г. Литература 1. Руденко А.П. Самоорганизация и синергетика. URL: http://utc.uni-dubna.ru/~mazny/students/site2/ideal_2.htm (дата обращения: 10.05.2011). 2. Fontana W. Algorithmic Chemistry // Artificial Life II, SFI Studies in the Sciences of Complexity. Vol. X, edit. by C.G. Langton, C. Taylor, J.D. Farmer, S. Rasmussen. Redwood City, CA: Addison-Wesley, 1991, pp. 159–209. 3. Dittrich P., Ziegler J., Banzhaf W. Artificial Chemistries – A Review // Artificial Life. 2001. Vol. 7. (No. 3), pp. 225–275. 4. Кольчугина Е.А. Модель эволюционирующего программного обеспечения // Изв. вузов. Поволж. рег. Технич. науки. Пенза: ИИЦ ПГУ. 2006. № 6 (27). С. 78–86. 5. Ершов Ю.Л. Теория нумераций. М.: Наука, 1977. 416 с. 6. Кольчугина Е.А. Неравновесное программирование // Изв. вузов. Поволж. рег. Технич. науки. Пенза: ИИЦ ПГУ. 2009. № 3 (11). С. 25–31. УДК 519.62:519.7:004.42 МЕТОД ВИРТУАЛЬНОЙ ПЕРСПЕКТИВЫ И МОДЕЛИРОВАНИЕ В УСЛОВИЯХ ОГРАНИЧЕНИЙ И НЕОПРЕДЕЛЕННОСТИ А.В. Мышев, к.ф.-м.н. (Обнинский институт ядерной энергетики, филиал НИЯУ «МИФИ», mishev@iate.obninsk.ru) Излагаются и формулируются основные положения и принципы метода виртуальной перспективы в методологии разработки и реализации технологий компьютерного моделирования в условиях ограничений и неопределенности (размытые задачи). Основу разрабатываемого метода составляют теория виртуальных решеток, модели активной памяти и процессы с локальным информационным взаимодействием в виртуальной среде моделирования. Решения моделируемых задач строятся в виде комплексов на клеточных топологиях квантовых дискретных пространств (решетки, графы). Ключевые слова: метод виртуальной перспективы, технологии моделирования, модель активной памяти, размытые задачи, виртуальная информационная среда, компьютинг. Метод виртуальной перспективы, с одной стороны, является развитием индуктивного структурного подхода синтеза образов решений неустойчивых размытых задач в виде топологических структур на квантовых дискретных пространствах [1, 2], а с другой – определяет методологическую основу осуществления новых форм компьютинга для технологий моделирования обозначенных задач в условиях ограничений среды вычислений и информационной неопределенности. Следует отметить, что здесь компьютинг определяется в терминах фундаментальных принципов [3], то есть как наука об информационных процессах в технологиях моделирования компьютерных вычислительных систем. Базис метода составляют, во-первых, модели сетевых процессоров синтеза изображений образов решений размытых задач на клеточных топологиях квантовых дискретных пространств в условиях неопределенности, во-вторых, принципы реализации механизма перспективы для процессов виртуализации в алгоритмах параллельных потоковых вычислений и модели активной памяти, 54 в-третьих, теория процессов с локальным информационным взаимодействием [1, 4]. Динамические модели вычислительных технологий. Информационными объектами компьютерных процессов в виртуальной среде моделирования являются взаимодействующие цепочки символов, а любой математический объект среды вычислений определяется и описывается в виде логической структуры таких цепочек. Среда взаимодействия объектов компьютерных процессов в вычислительных технологиях включает следующие основные атрибуты-посредники: виртуальная алгоритмическая переменная, операторы взаимодействия, логическая структура в адресном пространстве ограниченной памяти вычислительной системы и др. Интуитивно понятно, что среда вычислений вмещает в себя все или почти все, что относится к получению результата: в ней имеются переменные и их фактические значения, а сами они разнесены не только позиционно, но и контекстно. Тогда все информационные объекты моделируемой задачи и информационную виртуальную среду вычислений можно описать, используя Программные продукты и системы формализм информационной динамики взаимодействующих цепочек символов и принципы построения нетрадиционных вычислительных технологий компьютинга [1, 4]. Все, что делается в компьютинге, может быть сведено к некоторой первооснове: берется то, что считается идентификатором, для которого относительно среды строится то, что будет считаться его значением. Вычисление и есть именно этот процесс построения, а сам компьютинг разрабатывает технологии осуществления построения. Отношение между идентификатором и его значением параметризовано средой вычислений. Кратко опишем динамику информационных объектов компьютерных процессов в вычислительных технологиях. Формальное представление слова фиксированной длины и нумерации позиций символа в ней α=x1x2…xn задает этот объект как конечную последовательность символов xi из некоторого алфавита S={1, 2, …, r}. Символы в словах нумеруются слева направо, начиная с 1, n=n(α)=|α| – длина слова; xn – крайний справа символ слова. Множество всех конечных слов переменной длины (n меняется, но ограничено), включая пустую, над алфавитом S обозначим S*={αn}. Для конечных слов с фиксированными длинами l и k αl=x1x2…xl и αk=x1' x2'…xk', (1) их композицией αl⊕αk будет слово длины n: αn=αl⊕αk=z1z2…zn, (2) где max(l, h)≤n≤l+h; ⊕ – символическое обозначение арифметической или логической операции над словами αl и αk: xi, xi', zi∈S. В вычислительных технологиях, когда l, k, n фиксированы, реализация любой операции над словами сводится к выполнению двух базовых операций – сдвига и замены символов в словах. Так как базовой арифметической операцией таких технологий является сложение операндов αl и αk, символ zi результирующей цепочки αn определяется как замена символа xi или xi' цепочек αl или αk на соответствующий символ алфавита S, выбор которого определяется значениями элементов пары (xi, xi') и символа переноса. Сдвиг на конечной результирующей цепочке фиксированной длины и с фиксированной нумерацией позиций символов α=x1x2…xn определяется, с одной стороны, как деформация динамически изменяемой системы нумерации позиций символов ее естественного образа α' относительно системы нумерации позиций символов в α, когда символ переноса из α занимает не свою позицию в системе нумерации α'. В операциях и процедурах компьютерных процессов реальных вычислительных систем динамика таких деформаций во многом определяется форматами представления операндов и архитектурой блока операций АЛУ процессора. А с другой стороны, трактуется как потеря (n+i)-го символа α' на цепочке α в результате действия операции. В этом № 2, 2012 г. случае естественный образ α'=αl⊕αk относительно его изображения α = αl⊕αk будет иметь следующую структуру: α'=…x-1 x0 x1 x2…xn xn+1 xn+2… (3) среда слева|α|среда справа. Здесь среда слева определяет структуру системы нумерации позиций символов переноса в α относительно системы нумерации позиций символов в α', а среда справа – структуру системы нумерации теряемых символов α относительно α'. То есть в информационных процессах вычислительных технологий динамика цепочек α порождает и отражает виртуальную деформацию как систем нумерации, так и их информационных образов. Результаты алгоритмов и процедур вычислительных технологий порождают потоки данных, которые могут отличаться только смыслом, но не базовой логической структурой их элементов. Логически такие элементы организованы в виде символьных цепочек, хотя в операциях и процедурах компьютерных процессов вычислительных технологий они могут иметь различные форматы. Динамика таких деформаций в системах нумерации цепочек, структурный анализ и контроль их в условиях ограничений и информационной неопределенности описываются в рамках моделей алгоритмов вычислительных технологий типа Data Mining. Формализм построения моделей вычислительных технологий учитывает динамику как символов в позициях цепочки, так и цепочек результатов вычислительных процедур. В первом случае цепочка рассматривается как конечное множество X их υ[X] элементов xi с двумя системами нумераций, отношениями порядка и симметрии. Во втором случае множество цепочек – это множество узлов на виртуальной перспективной сетке V в адресном пространстве памяти информационных процессов вычислительных технологий. Система нумераций для указанных случаев включает внутреннюю и внешнюю нумерации. Для X такая система нумераций определяет и задает схему его разбиения на простые подмножества, определяемые композицией отношений. Каждое подмножество также может разбиваться на слои, что позволяет задать систему классификаций на X в виде внутренней и внешней нумераций. Внутренняя нумерация соответствует нумерации символов слоев цепочек и может иметь произвольный порядок. Внешняя нумерация определяется последовательностью номеров 1, 2, …, υ[x]. Отношения порядка и отношения симметрии для X задаются по аналогии с целыми числами и отражают структуру связей между номерами элементов X и его частей. Внутренняя и внешняя системы нумераций на V, с одной стороны, задают геометрию и топологию ее узлов, а с другой – структуру информационных связей между элементами V. Внешняя 55 Программные продукты и системы нумерация определяет отношения порядка и симметрии между номерами символов в цепочках информационных образов узлов виртуальных перспективных сеток разного масштаба (крупных и мелких), а также задает дискретную аппроксимацию информационных связей (в виде схем алгоритмов) между элементами таких сеток. Внутренняя нумерация определяет отношения порядка и симметрии между номерами элементов среды в цепочках информационных образов узлов сеток. При выполнении сложных алгоритмов и операций вычислительных технологий отмеченные деформации α' велики и очень сильно влияют не только на достоверность получаемых результатов, но и на вычислительную эволюцию слов α. Модели алгоритмов вычислительных технологий в условиях информационной неопределенности и ограничений не учитывают влияние динамики слов в компьютерных процессах на качество результатов моделирования. В информационной среде вычислительной системы динамика слов α' с переменной длиной заменяется словами α с фиксированной длиной. Тогда при разработке моделей алгоритмов вычислительных технологий возникает проблема построения таких способов моделирования, которые позволяют свести динамику слов неограниченной переменной длины к динамике слов фиксированной длины. И если такой способ работает, то соответствующая динамика будет кластерной. Для реализации идеи в способах построения вычислительных технологий на основе информационных моделей динамики цепочек α, взаимодействующих со средой, и моделей вычислительного восприятия используется механизм виртуальной перспективы [1, 2]. Механизмом, инициирующим информационную динамику слов α в вычислительных технологиях компьютерного моделирования, являются арифметические и логические операции (сдвиг и замещение), которые порождают конечное множество U замен на взаимодействующих цепочках символов операндов. Точнее, это множество упорядоченных пар конечных слов фиксированной или переменной длины αд∨αkαn, связанных конкретной операцией. Тогда множества S* и U для взаимодействующих слов операндов порождают грамматику G=(S, U). Траекториями такой грамматики для компьютерных процессов являются как последовательности взаимодействующих символов в цепочках операндов (траектории 1-го типа), так и последовательности взаимодействующих цепочек символов в вычислительных технологиях (траектории 2-го типа), порождаемые базовой операцией сложения. Языком L(G) будет множество всех взаимодействующих цепочек символов, порожденных G относительно базовой операции, которую обозначим символом ⊕. Для компьютерных процессов в условиях информаци56 № 2, 2012 г. онной неопределенности, обусловленной ограниченной длиной слов α, траектории грамматик будут размытыми, а в первом приближении – стохастическими. Тогда стохастическую грамматику можно определить как стохастический процесс на размытом множестве U c дискретным временем и пространством состояний S*, которое фактически является множеством слов языка. Для конечного дискретного времени аналогом таких процессов в моделях алгоритмов вычислительных технологий моделирования будут компьютерные процессы CPv(U, ⊕) для слов ограниченной переменной длины, которые в виртуальной среде вычислений определяются и реализуются как процессы CPf (U, ⊕) для слов фиксированной длины. Символическая динамика CPf (U, ⊕) на замкнутом покрытии ячеек памяти компьютерной системы будет отображать изображения образов динамики регулярного и фрактального типов на траекториях G. Образы размытой стохастической эволюции на траекториях типа 1 покажут вероятность интенсивности замен в позициях цепочек операндов символов S при выполнении операций, а на траекториях типа 2 отразят изменение B-энтропии на множестве слов, порождаемых вычислительной технологией алгоритма. Основная проблема в том, чтобы определить, существует ли для заданной модели вычислительных технологий такая дискретная аппроксимация CPv(U, ⊕), которая позволила бы при определенных условиях и ограничениях описать его как предельный случай CPf (U, ⊕), и как определяются или задаются условия и ограничения в схемах аппроксимации. Для CPf (U, ⊕) ситуация более тонкая в силу того, что для слов фиксированной длины нет возможности корректно описать динамику процесса и, как следствие, реализовать контроль и управление им, так как происходят большие потери информации в словах процесса и деформируются системы нумерации в словах α относительно системы нумерации в словах α′ процесса CPv(U, ⊕). В этом случае невозможно корректно описать динамику слов процесса CPf (U, ⊕), а также адекватно отразить результаты этого процесса на траекториях 1-го и 2-го типов: для траекторий 1-го типа – определить точку отсчета для относительной системы нумерации позиций, а для 2-го типа – опорную траекторию в качестве начала системы координат информационного пространства. То есть информационная среда протекания CPf (U, ⊕) в среде вычислений является виртуальной и размытой. Следует отметить, что природа таких сложностей носит фундаментальный характер как в динамике CPf (U, ⊕), так и в динамике CPv(U, ⊕), а именно: во-первых, это динамическая упорядоченность слов; во-вторых – связанность, сложность и устойчивость процесса. В подобных усло- Программные продукты и системы виях реализацию CPf (U, ⊕) можно осуществить в виде информационной динамической системы объект–среда. В онтологии предметной области такой системы среда является исходным разрабатываемым понятием и под ней понимается среда вычислений, а также структурой, на которой локализованы объекты взаимодействия в операциях и алгоритмах вычислительных технологий. В такой системе объект взаимодействует не со всей средой сразу, а с той ее частью, которая окажется в сфере действия объекта. Взаимодействие объектов CPf (U, ⊕) в таких системах можно определить как преобразование множества состояний его информационной среды в объекты, обладающие поведением или взаимодействием. Тогда множество ячеек виртуальной памяти и ее логическая организация, в которой отображаются и хранятся слова, образуют активную виртуальную среду вычислений. Динамика объектов (слов) CPf (U, ⊕) или преобразование информации в ячейках памяти взаимодействующих цепочек символов определяется как информационный процесс с локальным взаимодействием объекта и среды. Информационная модель CPv(U, ⊕) в такой среде будет описывать динамику его слов как динамику слов CPf (U, ⊕), взаимодействующих с информационной средой слева и справа. Информационная среда справа для слов α CPv (U, ⊕) задается в виде ξl=xn+1xn+2 … xn+m, (4) где m – это переменный ограниченный индекс правой границы, который в процессе моделирования может изменяться. Информационная среда слева задается аналогично среде справа, но с отрицательной нумерацией как последовательность символов фиксированной длины: ξr=…x–k+1, …, x-1, x0, (5) где k – переменный ограниченный индекс левой границы. Значения символов xi в позициях цепочки ξl в операциях и процедурах вычислительных технологий изменяются значительно быстрее, чем значения символов xj в позициях цепочек ξr. Геометрическая интерпретация динамики слов СPf (U, ⊕) на траекториях 2-го типа определяется как стохастическое блуждание узлов мелкой размытой виртуальной перспективной решетки относительно узлов более крупной решетки. А механизм информационных процессов, которые отражают такую динамику, определяет их как процессы информационного взаимодействия слов СPf (U, ⊕) со средой. Геометрия и топология узлов решетки определяются в адресном пространстве памяти М в виде массива структурных чисел, в ячейках памяти элементов которого синтезируется и отображается виртуальная информация CPv(U, ⊕). Тогда динамику слов CPv(U, ⊕) можно описать как размытую динамику слов СPf (U, ⊕) на узлах виртуальной перспективной сетки адресного пространства М. № 2, 2012 г. Онтология формализма динамики процессов CPv(U, ⊕) и СPf (U, ⊕) включает также понятия информационного пространства, потока, информационного образа в вероятностном метрическом пространстве, В-энтропии образа и др. [1]. Интегральной характеристикой информационного образа в вероятностном метрическом пространстве (S*, Sα, P, ρ) (где S* – пространство элементарных исходов; Sα – алгебра событий на S; P – вероятностная мера на Sα; ρ – рандомизированная метрика, то есть 0≤ρ≤1) является его Вэнтропия, которая отражает геометрию и информационную насыщенность и определяется выражением K K i =1 j =1 B=– å pilogå (1 – rij ) p j , (6) где K – мощность алфавита S; pi – вероятность появления i-й буквы S; ρij – рандомизированная метрика между i-й и j-й буквами в пространстве (S*, Sα, P, ρ). Автором для вычисления такой метрики предложена следующая формула: (7) ρij=|pi–pj|. Информационная среда и способы реализации СPf (U, ⊕) в вычислительных технологиях компьютерных систем образуют систему виртуальной реальности. Процессы СPf (U, ⊕) в такой системе являются объектами образного моделирования, для которых характерны три фазы виртуализации – виртуальные пространство, изображение и среда. Фазы виртуализации в процессах и технологиях компьютерного моделирования определяют технологические процедуры, посредством которых реализуются способы отражения и восприятия результатов в виде информационных образов в проективной плоскости памяти М, являющихся прообразами других видов образов – графических, геометрических, топологических и др. Схема проективной плоскости реализована следующим образом. Множество ячеек фиксированной длины в адресном пространстве М образует замкнутое покрытие для слов процесса CPv(U, ⊕), а множество их адресов образует виртуальную сетку Vs на проективной плоскости в М для слов процесса СPf (U, ⊕): адресное пространство М – одномерное пространство. Узлы Vs определяют адреса слов СPf(U, ⊕) в М, в которые проектируются слова CPv(U, ⊕). Информационные парадигмы компьютинга и среды вычислений. Кратко обозначим основные положения и принципы рассматриваемого подхода для методологии построения технологий информационного и компьютерного мониторинга моделируемых задач в условиях модельной замкнутости, ограничений, обмена и информационной неопределенности. Основу рассматриваемого подхода в разработке и реализации технологий математического и компьютерного моделирова57 Программные продукты и системы ния размытых задач на квантовых дискретных информационных пространствах составляет теория метода виртуальной перспективы. В рамках такого подхода организация и реализация компьютинга моделируемой задачи предполагают, что динамическая эволюция символьных цепочек в вычислительном эксперименте определяется на квантовых дискретных информационных пространствах активной памяти, а множество взаимодействующих и эволюционирующих цепочек символов – в ячейках адресного пространства этой памяти. При формализации и интерпретации такой системы разделяются ее динамические, информационные, математические и метрологические аспекты. В математическом аспекте квантовая дискретная динамическая информационная система означает следующее. Во-первых, она определена на квантовом дискретном информационном пространстве, элементом которого является информационный квант как информационный атрибут. Логический прототип кванта – цепочка символов, а физический – алгоритмическая переменная, ячейка памяти или их подмножество. Посредством такого атрибута локализуется пространственновременная область точки как формального атрибута абстрактной модели задачи в памяти среды моделирования, а мерой информационного измерения является глубина кванта – величина, обратная количеству символов в цепочке. Во-вторых, оператор взаимодействия символьных цепочек в операциях и алгоритмах вычислительных технологий моделирования задается в виде операторов взаимодействия символьных цепочек с информационной средой и проектирования символьных цепочек в узлы виртуальных перспективных решеток информационной системы координат [1, 2]. Следует отметить, что узлы виртуальных перспективных решеток определяются как дуальные объекты для геометрической и логической интерпретации информационных квантов [5]. Динамические аспекты квантовых дискретных информационных систем связаны с наличием квантовых атрибутов в динамических системах, таких, как квантование по времени и пространству и т.д. В информационном плане такие системы означают следующее. Во-первых, информационная динамика взаимодействующих цепочек символов в операциях и алгоритмах вычислительных технологий имитационного моделирования строится на принципах совместного квантового воздействия на квантовую дискретную информационную систему энергии взаимодействия и информации в условиях ограничений, обмена, неопределенности и сильного отклонения от динамического и информационного равновесия. Это значит, что непрерывности точечного взаимодействия арифметических объектов в классическом понимании нет, а происходит взаимодействие на уровне квантов и 58 № 2, 2012 г. информационной виртуальной среды. Во-вторых, в виртуальной среде информационного моделирования другие законы, определяющие информационную динамику тех объектов, посредством которых имитируется и интерпретируется динамика символьных цепочек в операциях и алгоритмах технологий моделирования, взаимодействующих с информационной средой. В информационной среде компьютинга, которая обусловлена факторами ограничений, обмена и неопределенности, другие единицы измерения и системы шкал – физические, информационные и виртуальные. Основные достоинства парадигмы квантовых дискретных информационных динамических систем как информационных систем и новых форм компьютинга в технологиях компьютерного и математического моделирования заключаются в том, что они с позиций единой концептуальной схемы позволяют естественным образом учитывать следующее. Точку как атрибут непрерывности в информационной среде нельзя определить в виртуальном информационном и адресном пространстве вычислительной системы, а можно только локализовать посредством информационного кванта. В выделенном кванте физического (или параметрического) времени решение моделируемой задачи имеет бесконечную информационную эволюцию возможных квантовых состояний. В этом случае состояния моделируемой системы на упорядоченном множестве квантов времени можно интерпретировать как волновые функции, то есть векторы с единичной нормой. Метод виртуальной перспективы (геометрическая интерпретация). Данный метод отчасти ориентирован на разработку интеллектуальных вычислительных технологий математического и когнитивного компьютерного моделирования в виртуальной среде AI-компьютерных систем на основе алгоритмов мягких потоковых параллельных вычислений. Он представляет собой синтез нового подхода конструирования разностных схем для вычислительных технологий в информационном пространстве взаимодействующих цепочек символов и моделей активной виртуальной памяти [1, 4, 5]. Метод предназначен для разработки моделей алгоритмов и процедур реализации вычислительных схем на размытых множествах взаимодействующих цепочек символов для технологий компьютерного моделирования и вычислительного интеллекта в условиях ограничений, обмена информацией и информационной неопределенности. Кроме того, он позволяет строить схемы нейросетевых процессоров синтеза изображений образов решений моделируемых размытых задач, которые отражаются и представляются в виде топологических комплексов на подмножествах узлов базовой координатной решетки, определяющейся на проективной плоскости xOt фазовой координаты (рис. 1). Программные продукты и системы № 2, 2012 г. ражением геометрических и информационных свойств компьютерных процессов вы∆ tˆ числительных технологий. Геометрия узлов на решетке отражает топологию связей объектов вычислительной среды в адресном пространстве активной памяти с различными типами виртуальных ячеек [5] по аналогии с систолической архитектурой вычислительных систем. Она также отображает динамику объектов процессов CPv(U, ⊕) на ∆x̂ объекты процессов СPf (U, ⊕), то есть геометрическая и топологическая структуры пассивных объектов процессов СPf (U, ⊕) Zˆ 2 на узлах решетки Z 2 образуют информационную систему координат привязки и поверки результатов операций и процедур для активных объектов процессов CPv(U, ⊕). Информационные свойства узлов Z 2 проявляются в том, что они, с одной стороны, отражают геометрию и топологию пассивных Рис. 1. Геометрическая иллюстрация: а) проективной плоскости виртуальных ячеек в адресном пространстве динамически активной памяти, относитель2 xOt и решеток Z2 и Ẑ , определенных на ней; б) оператора но которых развивается информационная 2 взаимодействия f на узлах решетки Ẑ динамика процессов CPv(U, ⊕) и СPf (U, ⊕). А с другой – являются геометрическими образами информационных атрибутов объектов, В xOt два семейства решеток – Z 2 и Ẑ 2 . На хранящихся в пассивных виртуальных ячейках акних описывается динамика обозначенных инфортивной памяти. мационных процессов и отражается ее ход в виде С математической точки зрения на узлах резависимости результатов операций или более шетки Z 2 отражается геометрия динамики объексложных алгоритмов от параметрической перетов СPf (U, ⊕) как макромасштабный случай менной, упорядочивающей и согласующей вычислительный процесс как по физическому времени, CPv(U, ⊕), а посредством информационных атритак и по алгоритму. Ось Ox является информацибутов задается область определения отображения онной шкалой измерения результатов операций состояний динамической эволюции объектов или алгоритмов (семейство шкал может быть люCPv(U, ⊕) в информационном пространстве акбым). Ось Ot задает физическую шкалу времени тивной памяти – их домен и область значений – имитируемой задачи как порядковую шкалу квандиапазон. В таком аспекте данная работа является тов времени и определяет направление операций развитием нового направления теории отображеалгоритма вычислительного процесса как в логиний для описания информационной динамики ческой структуре построения схем вычислений, компьютерных процессов вычислительных систем так и в адресном пространстве оперативной памяс переменными доменами-диапазонами. ти вычислительной системы. Методология конструирования таких отобраЭту ось также можно интерпретировать как ось жений основана в определенной мере на положеинформационного времени, которое не является ниях комбинаторной логики и на теории метода однонаправленным. Координатная решетка в виртуальной перспективы [1]. На множестве узлов плоскости xOt определяется как квантовое дисрешетки Z 2 можно также строить клеточные кретное пространство, задающееся априори. Узел структуры, базовым элементом которых является – это геометрический и информационный атрибут квант-клетка – объединение соседних узлов рекванта на решетке. В информационной среде вышетки Z 2, которые локально структурированы и числительных технологий прототипом решетки упорядочены, а также сам узел другой координатявляется модель активной виртуальной памяти в ной решетки более крупного масштаба. адресном пространстве физической памяти выВ алгоритмических схемах вычислительных числительной системы, а прототипом узла – виртехнологий компьютерного моделирования ретуальная ячейка. В плоскости xOt задаются два шетка Z 2 является системой координат инфортипа решеток – координатные и перспективные. мационной привязки и поверки для результатов вычислений (промежуточных и конечных), отяПервый тип – базовая координатная решетка гощенных различного рода ошибками и информаZ 2, на которой отражается динамика процессов ционной диффузией в вычислительных технолоСPf (U, ⊕). Узлы такой решетки в более широком гиях компьютерных процессов. смысле являются образным и символическим от59 Программные продукты и системы Второй тип – перспективные решетки (семейство решеток Ẑ 2 ), на которых развивается информационная динамика объектов CPv(U, ⊕). Функции информационных атрибутов узлов подобных решеток такие же, что и для узлов Z 2. Поясним некоторые свойства геометрических и топологических структур на множестве узлов решеток Z 2 и Ẑ 2 применительно к алгоритмам вычислительных технологий. Каждый узел решетки Z 2 является и идентификатором, и центром строго определенного подмножества узлов Ẑ 2 с заданным радиусом сферы информационного влияния, конечные топологии на которых являются частично упорядоченными. С каждой частичной упорядоченностью связана единственная диаграмма, представляющая собой ориентированный граф, на котором могут быть разрешены или запрещены определенные типы конфигураций. Тогда подмножества взаимодействующих объектов CPv(U, ⊕) на вершинах одного или нескольких таких графов в окрестностях узлов решетки Z 2 порождают дискретную информационную динамическую систему и образуют алгоритмическую схему развития и информационной эволюции объектов такой системы в среде вычислений. Информационная динамика объектов этих систем развивается на подмножествах узлов решеток Z 2 и Ẑ 2 со своими законами взаимодействия в виртуальной среде вычислений, может быть определена и описана в виде следующей логической схемы. Пусть обозначенные множества C1 и C2 определяют соответственно узлы решеток Z 2 и Ẑ 2 (рис. 1). Эти множества, с одной стороны, представляют собой геометрические изображения либо чисел с заданной точностью, либо символьных цепочек фиксированной и ограниченной переменной длины, которые могут быть представлены в виде точек проективной плоскости xOt. А с другой – это геометрическая иллюстрация квантового дискретного информационного пространства, на котором будет развиваться динамическая эволюция вычислительного процесса компьютерного моделирования задачи. Множество C1 в вычислительных технологиях моделирования задачи можно разбивать на классы в виде клеточной структуры, элементом которой является квант-клетка. А на множестве C2 разбиение можно проводить на классы с произвольной топологической мозаикой. На объединении C=C1∪C2 действует дискретная динамическая система f: C2 → C1, где f – дискретное локальное отображение, которое описывает закон взаимодействия и механизм динамики символьных цепочек как информационный процесс с локальным взаимодействием на узлах С. Информационная эволюция объектов динамической системы f для таких процессов может быть определена и формализована как следующая задача. 60 № 2, 2012 г. Закон информационного взаимодействия прототипов объектов динамической системы f в памяти вычислительной системы как между элементами C1 и C2, так и с виртуальной информационной средой в компьютерных технологиях моделирования задается в виде двух операторов – взаимодействия и проектирования. Оператор взаимодействия f для процесса с локальным взаимодействием, в котором участвуют два элемента подмножеств C2, относящихся соответственно к i-му и (i+1)-му квантам информационного времени, задается в следующем виде: xi+1=f(xi), (8) где xi – информационный идентификатор узла подмножества C2, который выбирается в информационной окрестности узла C1, соответствующего i-му кванту информационного времени на интервале шагов реализации алгоритма или процедуры; xi+1 – информационный идентификатор узла C2, соответствующего (i+1)-му кванту информационного времени и являющегося результатом действия f (рис. 1). Следует заметить, что символьные цепочки, соответствующие узлам множества C1, имеют фиксированную длину, всегда меньшую переменной длины цепочек, соответствующих узлам множества C2. При взаимодействии символьных цепочек, соответствующих элементам множеств C2 и C1, первым шагом является выполнение процедуры информационного выравнивания символьных цепочек разной длины, которое определяется как взаимодействие со средой. Кратко обозначим схему алгоритма оператора взаимодействия между элементами подмножеств C2, которые геометрически расположены в окрестностях подмножеств узлов C1, соответствующих i-му и (i+1)-му квантам информационного времени. Для узлов Z 2 определяется сфера информационного влияния. Действие оператора взаимодействия цепочек на узлах C2, определяемого уравнением (8) для процессов с локальным взаимодействием на соседних квантах информационного времени (рис. 1), характеризуется тремя величинами: ∆t1, ∆x1 и d(xi, xi+1): ∆t1 – глубина действия оператора f по оси Ot, которая кратна шагу решетки Ẑ 2 и определяется выражением (9) ∆t1 = l∆t̂ , где ∆t̂ – шаг решетки Ẑ 2 по оси Ot; l – коэффициент кратности, переменное целое число; ∆x1 – глубина действия оператора f по оси Ox, которая кратна шагу ∆ݔො решетки Ẑ 2 и определяется выражением ∆x1 = k∆x̂ , (10) где ∆x̂ – шаг решетки Ẑ 2 по оси Ox; k – коэффициент кратности, переменное целое число. Эти две величины являются геометрическими приращениями для определения координат узла Ẑ 2 , соответствующего xi+1. Третья d(xi, xi+1) – это числен- Программные продукты и системы № 2, 2012 г. ная оценка информационного расстояния между xi и xi+1, определяемая по формуле L d ( xi , xi +1 ) = å wi ai - bi , (11) i =1 где L – длина символьных цепочек xi и xi+1; wi – вес i-й позиции символьной цепочки; ai и bi – i-е символы цепочек, соответствующих xi и xi+1. Если определяется расстояние между узлами решеток Z 2 и Zˆ 2 , то вначале производится информационное выравнивание символьных цепочек, которые соответствуют узлам разных решеток. Геометрические параметры сферы влияния узлов решетки Z 2 определяются по формулам (9)–(11). Оператор проектирования ߰ задает механизм информационного взаимодействия между узлами решеток Z 2 и Ẑ 2 , геометрическая иллюстрация которого показана на рисунке 2. Здесь zi – узел решетки Z 2, а подмножество {mk} – узлы решетки Ẑ 2 ; dmk – информационное расстояние между узлами zi и mk; dдоп – информационная сфера влияния узла zi. Оператор ߰ для информационных объектов, взаимодействующих со средой в процессах вычислительных технологий компьютерного моделирования, которые определены как подмножество элементов {mk} в C2 и проектируются в элемент zi множества C1, задается в виде следующего обобщенного выражения: ߰ :{mk}→zi, k=1, 2, … (12) Литература Ẑ2 Рис. 2. Геометрическая иллюстрация действия оператора проектирования Весовая функция ߯(zi) узла zi, принадлежащего подмножеству C1, которое соответствует фиксированному кванту информационного времени, определяется на основе выражений χ(zi)=ni ⁄ࡺ, (13) M ni= å mk , можно описать следующим образом. Сначала по формуле (11) определяется информационное расстояние между узлом mk решетки Ẑ 2 и узлом zi решетки Z 2. Если оно не превышает допустимый критерий dдоп, который является заданной информационной окрестностью узла решетки Z 2, то есть справедливо неравенство d(zi, mk)≤dдоп, (15) то считается, что результат действия оператора взаимодействия находится в узле zi решетки Z 2, для которого выполняется условие (15). Окрестность узла может иметь произвольную морфометрию или топологическую мозаику. В заключение отметим следующее. Теория метода виртуальной перспективы для разработки вычислительных технологий среды вычислений компьютерного моделирования размытых задач, обусловленных ограничениями и неопределенностью, отражает и определяет новые формы организации и реализации компьютинга. В ней заложены новые основы компьютинга в плане разработки и реализации проработанных и осмысленных моделей вычислений, в которых не предполагается традиционный арифметический стиль работы с числовыми и другими типами данных. В этом случае предлагается перейти к иному стилю рассуждений в терминах информационной динамики объектов компьютерных процессов вычислительных технологий, обусловленных ограничениями и неопределенностью, а их взаимодействие определяется механизмом аппликации в информационной среде систем виртуальной реальности. Практическая реализация метода виртуальной перспективы для осуществления новых форм компьютинга с учетом информационной динамики объектов среды вычислений при построении технологий компьютерного моделирования в рамках прогностических моделей размытых задач позволила получить более надежный прогноз по времени и точности в отличие от технологий моделирования на основе методов традиционной вычислительной математики. (14) k =1 где ni – мощность подмножества {mk} из множества C2, попавших в dдоп – окрестность узла zi; ࡺ= å ni . Схему механизма действия оператора ߰ 1. Мышев А.В. Метод виртуальной перспективы и нейросетевые алгоритмы в технологиях компьютерного моделирования // Нейрокомпьютеры: разработка и применение. 2007. № 9. С. 390–405. 2. Мышев А.В., Иванов П.Г. Системы компьютерного восприятия и когнитивные технологии взаимодействия объектов имитационного моделирования с виртуальной средой в условиях информационной неопределенности: тр. регион. конкурса науч. проектов в обл. естеств. наук. Калуга: Калуж. науч. центр. 2009. Вып. 14. С. 29–37. 3. Вольфенгаген В.Э. Аппликативные вычислительные технологии. М.: Юринфор, 2009. 4. Малышев В.А. Взаимодействующие цепочки символов // УМН, 1997. Т. 52. Вып. 2 (314). С. 59–86. 5. Мышев А.В. Модели активной памяти в технологиях виртуализации каналов передачи и хранения информации // Программные продукты и системы. 2010. № 1. С. 54–58. i 61 Программные продукты и системы № 2, 2012 г. УДК 004.896 МУЛЬТИАГЕНТНАЯ СИСТЕМА ПОИСКА ИНФОРМАЦИИ НА ПРОМЫШЛЕННОМ ПРЕДПРИЯТИИ А.Н. Швецов, д.т.н.; В.И. Летовальцев (Вологодский государственный технический университет, smithv@mail.ru, LetovaltsevVictor@gmail.com) Описывается архитектура мультиагентной системы для проведения поиска информации на промышленном предприятии. Перечисляются характерные черты такой системы и особенности ее реализации. Дано описание формального проектирования, результатами которого являются концептуальная модель и дерево интеллектуальных компонентов системы. Ключевые слова: информационные поисковые системы, мультиагентные системы, концептуальная модель поиска, формальное описание. Обеспечение эффективности основной деятельности – обязательное условие при разработке и совершенствовании системы управления предприятием. Более конкурентоспособными являются предприятия, максимально использующие свои ресурсы, в том числе и информацию. Поэтому в современной инфраструктуре предприятия резко возрастает роль информационно-аналитической системы (ИАС). Можно сказать, что основная функция ИАС – обеспечение реализации последовательностей работ, направленных на решение задач управления производством [1]. Важными условиями эффективного управления деятельностью являются возможность использования необходимой информации и обеспечение требований к содержанию и форме представления данных. Под документом в ИАС будем понимать формализованный информационный объект [2]. ИАС участвует в основных бизнес-процессах предприятия: сбор и структуризация исходной информации, хранение данных, формирование отчетов, планирование и анализ. Можно выделить три потока документов – входящие, исходящие и внутренние. В ИАС может входить информация как внутреннего, так и внешнего характера: организационные документы (приказы по предприятию, служебные записки, должностные инструкции и т.д.); производственные (технические регламенты, стандарты, рекомендации, описания техпроцессов); финансовые (бухгалтерские документы, отчеты, результаты экономического анализа); маркетинговые (анализ состояния рынков, уровня конкуренции и т.д.); юридические (законы, указы президента, постановления правительства, распоряжения министерств и ведомств, лицензии и т.д.). Перевод документооборота предприятия в электронную форму дает возможность ускорить принятие решений и повысить эффективность управления производством. Информационные технологии позволяют перейти к полностью безбумажному документообороту, при использовании которого одной из важнейших проблем становится обеспечение сотрудников своевременной 62 информацией. Важным механизмом такого обеспечения является информационный поиск. Информационный поиск в ИАС крупных предприятий имеет ряд особенностей. У каждого вида документов свой формат и принадлежность к определенной документной базе. Бухгалтерские документы принадлежат базам бухгалтерских систем (например, 1С или «Галактика»), юридические документы находятся в базах правовых систем (например, «Консультант Плюс» или «ГАРАНТ»), электронная почта – на почтовом сервере предприятия и т.д. Стоит учитывать и возможность разнородности аппаратных ресурсов и вычислительных платформ, на которых функционирует указанное ПО. Существуют различные варианты решения проблемы информационного поиска. Первый вариант – реализация локальных поисковых подсистем в каждом информационном модуле ИАС предприятия. Достоинство такого подхода – простота реализации, недостатки – невозможность поиска по нескольким источникам из единой точки доступа, сложность модификации и обновления системы, высокая стоимость администрирования и настройки. Необходима реализация системы, позволяющей организовать доступ к гетерогенным территориально распределенным источникам информации. Среди современных технологий построения корпоративных информационных систем с подобными характеристиками, по мнению авторов, стоит выделить сервисную и агентную архитектуру. Агентная архитектура имеет ряд преимуществ при решении подобного класса задач [3], поэтому для создания распределенной системы поиска информации в масштабах предприятия имеет смысл использовать именно агентный подход. Неформальная схема мультиагентной системы поиска информации представлена на рисунке 1. Пользователь осуществляет взаимодействие с системой посредством персонального агента пользователя. Запросы пользователя перенаправляются поисковым агентам, реализующим конкретные алгоритмы поиска (на схеме рис. 1 это алгоритм Программные продукты и системы поиска на основе логики Монтегю [4] и алгоритм расширения запроса пользователя). Агент может осуществлять поиск как на основе индекса (посредством соответствующего агента), так и путем прямого доступа к информационному ресурсу. Ввиду специфичности обработки различных естественных языков необходимо выделение специального агента для обработки языковых данных. Фоновые знания о предметных областях предлагается хранить в виде формальных онтологий. Схема на рисунке 1 дает лишь общее представление о функционировании предлагаемой системы, для технической реализации необходимо более точное формальное описание. Интегрированный подход к решению задач создания агентно-ориентированных систем предлагает методология проектирования мультиагентных интеллектуальных систем (МАИС) [5]. Данная методология основывается на теории информационных объектов и охватывает все основные этапы процесса создания распределенной интеллектуальной системы. Она имеет комплексный и завершенный характер, так как рассматривает построение систем такого класса на всех необходимых уровнях описания, начиная от обобщения концептуальной модели предметной области и заканчивая моделью информационного объекта, взаимодействующего с конкретным корпоративным приложением. Предлагаемая методология проектирования МАИС включает следующие этапы: идентификация предметной области (ПрО), извлечение знаний о ПрО, структурирование знаний о ПрО, формализация, реализация, отладка и тестирование. На этапе структурирования знаний о ПрО применяется подход, при котором структуры фреймов соединяются с конструкциями концептуальных графов, образуя концептуальную модель ПрО (КМПрО). Формально КМПрО определяется как KM=(F, µ, R, Φ, Ψ), где F={ФK} – множество фрейм-концептов (ФК); µ={M} – множество модулей концептуальных графов; R={KO} – множество концептуальных отношений; Φ – отображение F×R→F; Ψ – отображение F→µ, такое, что каждому ФК Fkij может быть поставлено в соответствие некоторое подмножество из множества µ, то есть µ′={М1, …, Мn}, µ′⊆µ. № 2, 2012 г. Рис. 1 ФК представляет собой фреймоподобную структуру вида FK=(ИФ, ТФ, ИП, ССП, ССЛ), где ИФ – имя фрейма; ТФ – тип фрейма; ИП – информация о применении (неформальное вербальное описание); ССП – структура сценариев поведения; ССЛ – структура слотов. Динамическое поведение компонентов ПрО описывается структурой сценариев поведения фреймов, позволяющей формировать альтернативные пути поведения каждого фрейма. Структура слотов представляет собой совокупность двух структур: ССЛ=(CK, CA), где СК – структура концептов; СА – структура атрибутов. Структура концептов содержит список ФК, в некотором отношении вложенных или порожденных охватывающим ФК: CK={(ИК1, КО1), (ИК2, КО2), …, (ИКn, КОn)}, где ИКi – имя концепта; КОi – тип концептуального отношения концепта ИКi к данному ФК. Структура атрибутов представляет собой следующее множество: CА={(ИА1, МО1, ЗА1), (ИА2, МО2, ЗА2), …, (ИАm, МОm, ЗАm)}, где ИАi – имя i-го атрибута; МОi – область определения атрибута; ЗАi – значение атрибута. Для установления логической организации ПрО ФК соединяются в структуры концептуальных графов, имеющие два типа вершин: вершины концептов и вершины концептуальных отношений. На начальной стадии концептуализации строится сеть ФК по вложению концептов, принимающая во внимание только структурный аспект ПрО: KM(FK)=(F, R, Φ). Логические взаимосвязи ФК КМПрО описываются концептуальным графом, в котором дуги связывают концептуальные отношения и ФК, входящие в них. Выделим следующие ФК в ПрО ин63 Программные продукты и системы формационного поиска на промышленном предприятии. ФК «Запрос» можно представить в следующем виде: FKзапр=("Запрос", Query, "Запрос_данных", ∅, (CKзапрос, CAнастр)). У него есть один атрибут CAзапр={Текст, String, ЗН}. Здесь и далее будем описывать схемы атрибутов, а не сами конкретные атрибуты. Поэтому в качестве значения используем обозначение ЗН, которое может быть заменено конкретным значением при заполнении соответствующего ФК. Запрос состоит с множеством вложенных настроек в отношении Содержит: CКзапрос={(Настройка1, Содержит), …, (Настройка1, Содержит)}. Запрос может иметь множество вложенных настроек. При этом ФК «Настройка» имеет вид FКнастр=("Настройка", Setting, "Входные_параметры", ∅, (∅, CAнастр)), CAнастр={(Св1, Binary, ЗН1), …, (Свn, Binary, ЗНn)}, где Св1, …, Свn – множество имен значений свойств настройки; Binary – множество бинарных объектов, типизация которых выполняется алгоритмом. Ввиду многообразия языков представления знаний целесообразно выделить отдельный элемент обработки лингвистической информации. Назовем этот ФК «Лингвист». Важным параметром является множество языков, которые могут обрабатываться данным концептом. Формально концепт «Лингвист» определим так: FКлинг=("Лингвист", Ling, "Обработка_языковых_ данных", СППлинг, (∅, САлинг)), САлинг={(Яз1, Boolean, ЗН1), …, (Язk, Boolean, ЗНk)}, СППлинг={МорфАнализ, СинАнализ}, где Яз1, …, Язk – множество обозначений языков; Boolean – тип истинного значения; МорфАнализ – сценарий поведения, реализующий морфологический анализ; СинАнализ – сценарий поведения, реализующий синтаксический анализ. В качестве обозначений языков могут выступать их стандартизированные буквенные коды. При поддержке соответствующего языка логическое поле фрейма становится равным true. Результатами применения поведений МорфАнализ, СинАнализ могут представляться в различной форме. ФК «Текст» имеет следующее формальное представление: FКтекст=("Текст", Text, "Текст_ на_ЕЯ", ∅, (∅, САтекст)), САтекст={(Название, String, ЗН1), Авт, (URI, String, ЗН2), (Содержание, String, ЗН3)}, Авт={(Автор1, String, ЗН1), …, (Авторn, String, ЗНn)}. В данном случае взят минимальный набор атрибутов текста. Для электронного документа такой набор может быть достаточно обширным. Все тексты находятся в некотором информационном ресурсе, который представляется в данном 64 № 2, 2012 г. случае как ФК «Хранилище». Можно сказать, что хранилище находится в отношении Содержит к ФК «Текст»: FКхран=("Хранилище", Storage, "Место_хранения_текстов", СППхран, (СКхран, СА хран)), САхран={(Имя, String, ЗН1), (Tun, String, ЗН)}, СКхран={(Текст1, Содержит), …, (Текстn, Содержит)}, ССПхран={ПолучитьТекст}, где Тип – строковое обозначение хранилища, используемое для определения способа доступа к нему; ПолучитьТекст – операция извлечения текста из хранилища на основе его URI. При организации поиска важное место отводится индексу. ФК «Индекс» может представлять собой произвольную структуру. К настоящему моменту известно множество методов построения индексов для разных целей. Если необходимая служебная информация содержится в индексе, то текст находится с этим индексом в бинарном отношении Индексирован. В данном случае представим ФК «Индекс» следующим образом: FКинд =("Индекс", Index, "Индекс_для_информационного_поиска", ∅, (СКинд, САинд)), САинд={(Имя, String, ЗН1), (Тип, String, ЗН2), (СлИнф1, Binary, ЗН3), …, (СлИнфn, Binary, ЗНn+3)}, СКинд={(Текст1, Индексирован), …, (Текстn, Индексирован)}, где СлИнфi – служебная информация в j-м индексе (в общем случае в бинарном виде), хранимая индексом для текста Текстi, причем ∃ (Текст, Индексирован)∈ j ∈ СКинд . Индекс используется определенным поисковым алгоритмом. «АлгоритмП» является ФК, инкапсулирующим конкретный способ поиска интересующих текстов. Один алгоритм может использовать несколько индексов и ФК лингвистической обработки. ФК «АлгоритмП» можно представить в следующем виде: FКалгП=("Алгоритм", SearchAlg, "Алгоритм_поиска", СППалгП, (СКалгП, САалгП)), САалгП={(Имя, String, ЗН)}, СКалгП={(Лингвист1, Использовать), …, (Лингвистk, Использовать), (Индекс1, Использовать), …, (Индексm, Использовать)}, ССПалгП={Найти}, где Найти – сценарий поведения, реализуемый конкретным алгоритмом. ФК «Пользователь» представляет пользователя поисковой системы. Пользователь должен иметь имя и идентификатор в системе. Имя используется для отображения в различных вариантах пользовательского интерфейса, идентификатор пользователя – для однозначного определения данного пользователя. Цели такого определения могут быть различными: проверка прав доступа, персонализация настроек, учет и отображение истории запросов и т.д. Для обоих атрибутов можно использовать строковый тип данных. Формально ФК «Пользователь» представим в следующем виде: FКпольз=("Пользователь", User, "Пользователь_системы", ∅, (СКпольз, САпольз)), САпольз={(Ид, String, ЗН)}, СКпольз={(Запрос1, Фор- Программные продукты и системы № 2, 2012 г. мировать), …, (Запросn, Формировать), (АлгоритмП1, Выбирать), …, (АлгоритмПk, Выбирать)}. ФК «Пользователь» состоит в отношении Формировать с ФК «Запрос». При формировании запроса пользователь изменяет настройки запроса (ФК «Настройка»), но эта связь не показана, чтобы не перегружать концептуальную модель. КМПрО поиска информации на предприятии можно представить в графическом виде (рис. 2). На рисунке для наглядности приняты следующие упрощения. Показан вариант при использовании одного индекса и одного текстового хранилища. В общем случае один алгоритм может использовать несколько индексов, а индекс может хранить информацию о текстах, хранящихся в разных текстовых хранилищах. Формализация представляет собой процесс трансляции КМПрО в логическую модель МАИС. В основе логической модели лежит дерево имен Пользователь СА концепта IIK, представляющее собой связный неориентированный граф без циклов, вершинами которого являются имена концепта МАИС (IKi, …, IKj, …, IKij…). Дуги графа соединяют имя концепта с другими именами концепта вышестоящего или нижестоящего уровней. С каждым именем концепта связывается его формальная объектная структура: IKi=(IKi1, IKi2, …, IKin; IAi1, IAi2, …, IAim; Oi1, Oi2, …, Oik;), где IKi – интеллектуальный компонент; IAi – интеллектуальный агент; Oi – интеллектуальный объект. Информационный объект – это структура вида O=(NO, {A}, {O}, BM), где NO – имя объекта; {A} – множество атрибутов объекта; {O} – множество объектов, структурно вложенных в данный объект; BM – модель поведения информационного объекта. Атрибут информационного объекта определяется как A=(NA, SA, VA), где NA – имя атрибута; SA – область определения; VA – значение атрибута. Алгоритм поиска СА Имя Имя Ид Лингвист СА Язык1 СК СК Запрос Формировать АлгоритмП Выбирать ... Лингвист Использовать Индекс Использовать СПП СинАнализ Индекс 1 Настройка1 Запрос СА СА 1 1 Текст Свойство Настройка 1 Свойство1k Имя ... СК Содержит ... ... Настройка n СПП МорфАнализ Найти СА ... Тип СлИнф1 ... Настройкаn Содержит ... ... Текст1 СК Содержимое1 ... СА Текст t СК ... Текстt СПП ... Индексирован Автор11 Тип ... Индексирован Название 1 Имя Текст1 ... СлИнф t Текст1 Хранилище СА ... Языкp Содержит ... Содержит ... 1 Авторm URI 1 Содержимое1 Текст1t ПолучитьТекст ... ... Рис. 2 65 Программные продукты и системы № 2, 2012 г. Таким образом, дерево имен концепта является связующим звеном между логической и объектной структурами МАИС. Процесс формализации заключается в выделении интеллектуальных компонентов, построении дерева имен концепта TIK, декомпозиции сети ФК по дереву имен концепта, трансляции дерева ФК в логическую модель МАИС (TFK в T(IK, IA, IO)) и построении БЗ имен концепта. Задача выделения интеллектуальных компонентов состоит в декомпозиции КМПрО на связанные подобласти, которые будут представляться в логической модели интеллектуальными компонентами и их ФОС. Далее сеть ФК связывается с деревьями IIK – выполняется декомпозиция сети ФК по дереву имен концепта. Корневым элементом дерева будет системный компонент, олицетворяющий поисковую систему в целом: IKсисП=(IKадм, IKанлиз, IKпоиск; IAдост1, …, IAдостМ; Oид1, Oид2, …, OидK), Oид =(ИстДанных′, {Свойствоj′}, {∅}, ПредоставитьРесурс). Этот наиболее абстрактный уровень содержит описание фактически внешних по отношению к системе объектов, которыми являются источники данных Oид. Выделение источников данных необходимо именно на этом абстрактном уровне, так как они являются внешними по отношению к системе, но принимают непосредственное участие в ее функционировании. Источники данных имеют набор свойств Свойствоji (в общем случае бинарных), которые интерпретируются при конкретных реализациях ресурсов. Информационный объект источника данных реализует лишь поведение по предоставлении конкретного ресурса. Информационные ресурсы, как уже отмечалось, могут быть разнородными по своей природе. Соответственно, будут разниться и интерфейсы доступа к ним. Для унификации доступа к произвольным ресурсам ∅ вводятся интеллектуальные агенты доступа IAдост, скрывающие специфические методы взаимодействия с ресурсом и предоставляющие общую функциональность для других агентов системы. В некоторых случаях выделение такого агента нецелесообразно, например, при доступе к ресурсам, уже реализующим некоторый общий интерфейс (в качестве веб-сервисов или агентных реализаций). Поэтому количество агентов доступа может отличаться от количества ресурсов. Агенты доступа могут выполнять и задачи протоколирования, профилирования и разграничения доступа. Интеллектуальный компонент администрирования формально представим как IKадм=(∅; IAадм, …, IAадмК; ∅). Это структурно наиболее простой интеллектуальный компонент, состоящий из агентов-администраторов, позволяющих настраивать различные параметры функционирования других компонентов. Компонент анализа состоит из лингвистической и индексирующей составляющих: IKанализ= =(IKлинг, IKинд; ∅; ∅). Лингвистическая составляющая представляется следующим образом: IKлинг=(∅; IАлинг; ОБЗ_ЯЗ1, ОБЗ_ЯЗ2, …, ОБЗ_ЯЗN), ОБЗ_ЯЗi = (База_языкаi, {Морфi, Синтаксисi}, ∅, ∅). Лингвистический интеллектуальный компонент содержит информационные объекты для каждого языка. Такие объекты включают всю необходимую информацию о конкретных языках (об их морфологии и синтаксисе). Индексирующий интеллектуальный компонент создает индексы для проведения информационного поиска на массивах текстовых данных: IKинд= =(∅; IАинд1, …, IАиндS, Оинд1, Оинд2, …, ОиндК), Оиндi= =(Индексi, {Текстj, Имя_источникаj}, ∅, ∅). ∅ ∅ ∅ ∅ ∅ ∅ Рис. 3 66 ∅ Программные продукты и системы По отношению к источнику данных индексы Oинд могут быть как внешними, так и внутренними. Если в качестве источника данных выступает БД с внутренними инструментами индексирования, то из соображений скорости поиска такой индекс логично сделать внутренним. Если же источник данных не предоставляет средства семантической индексации, индекс может быть внешним по отношению к ресурсу. Интеллектуальный компонент поиска состоит из двух объектов-агентов: IKпоиск=(∅; IАпольз1, …, IАпользU, IАалгП1, …, IАалгПQ). Агенты пользователя IAпольз реализуют пользовательский интерфейс для пользователя-человека. Агенты IAалгП осуществляют поиск информации согласно соответствующему алгоритму поиска на основе индекса или без него. Графически дерево имен концепта системы семантического поиска можно представить в виде схемы, изображенной на рисунке 3. Предлагаемый вариант реализации поисковой системы для промышленного предприятия отли- УДК 004.056.53 № 2, 2012 г. чается масштабируемостью, хорошей формализацией компонентов и небольшой стоимостью разработки. При этом система поиска может функционировать как самостоятельно, так и внутри корпоративных агентных сообществ и использоваться в большинстве существующих поисковых алгоритмов. Литература 1. Костров А.В., Александров Д.В. Уроки информационного менеджмента. Практикум: учеб. пособие. М.: Финансы и статистика, 2005. 304 с. 2. Автоматизированные информационные технологии в экономике / М.И. Семенов [и др.]; [под общ. ред. И.Т. Трубилина]. М.: Финансы и статистика, 2000. 416 с. 3. Летовальцев В.И., Швецов А.Н. Сравнение агентного и сервис-ориентированного подходов к созданию распределенных приложений // Информационные технологии в проектировании и производстве. 2009. № 2. C. 66–71. 4. Швецов А.Н., Летовальцев В.И. Семантическая обработка текста на основе интенсиональной логики для проведения информационного поиска / Интеллектуальные системы: тр. IX Междунар. симпоз.; [под ред. К.А. Пупкова]. М.: РУСАКИ, 2010. С. 146–150. 5. Швецов А.Н. Метаметодология построения мультиагентных интеллектуальных систем // Информационные технологии в проектировании и производстве. 2010. № 1. C. 28–33. УЯЗВИМОСТЬ ЗАЩИТЫ ВЕБ-КОНТЕНТА ТИПА HTML GUARDIAN Д.Г. Ермаков, к.ф.-м.н. (Институт математики и механики УрО РАН, г. Екатеринбург, Ermak@imm.uran.ru) Рассмотрена задача преодоления защиты информации от копирования, подобная ProtWare's HTML Guardian, стандартными средствами MS Windows – языка сценариев Windows PowerShell и браузера MS Internet Explorer. Показана невозможность защиты контента веб-страницы, так как браузер расшифровывает зашифрованный HTML-код и есть простой и быстрый способ получить этот незашифрованный код средствами PowerShell. Ключевые слова: информационная безопасность, преодоление защиты, MS Windows PowerShell, MS Internet Explorer, .NET. Обладатели авторских прав, размещающие свои произведения в Интернете, хотели бы ограничить возможность их несанкционированного копирования. Способы защиты от копирования информации с веб-сайтов хорошо известны (см., например, [1–3]). К ним относятся: – запрет кеширования страницы; – запрет копирования элементов страницы; – отключение (блокирование) функции сохранения картинки; – блокирование выпадающих меню; – запрет копирования через стандартное сочетание клавиш Ctrl+C; – защита от копирования модальными окнами; – шифрование исходного кода страницы и использование продуктов типа HTML Protector, HTML Power, Encrypt HTML Pro, ProtWare's HTML Guardian. Среди этих способов наиболее надежным считается шифрование исходного кода страницы и использование продуктов типа ProtWare's HTML Guardian [1]. Перечислим основные способы преодоления данного типа защиты, представленные в [1–3]: – перепечатка текста, отображаемого браузером, вручную; – фотографирование экрана, на котором отображается защищенный текст, и распознавание его аналогично тому, как это делается с отсканированным текстом; – запуск браузера в дополнительном контей67 Программные продукты и системы нере – виртуальной машине, создание копии окна этого контейнера и распознавание аналогично предыдущему варианту. Данные способы весьма трудоемкие. К тому же они не позволяют сохранить исходное форматирование, и при их применении в текст могут быть внесены дополнительные ошибки и искажения. Существует программный способ преодоления защиты от копирования типа HTML Guardian штатными средствами MS Windows, лишенный перечисленных недостатков. Актуальные версии MS Windows (Windows XP, Windows Vista, Windows 7) имеют в своем составе № 2, 2012 г. интернет-браузер MS Internet Explorer и Windows PowerShell – расширяемое средство автоматизации, состоящее из оболочки с интерфейсом командной строки, языка сценариев и среды для разработки и отладки скриптов. Windows PowerShell построен на базе Microsoft .NET Framework, поэтому в его среде можно манипулировать любыми объектами .NET-приложений. Используем эту возможность для доступа к свойствам и методам объектов Internet Explorer и покажем, как может быть преодолена защита информации HTMLстраницы, выполненная на основе HTML Guardian (другие способы защиты могут быть преодолены аналогичным образом). <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0033)http://www.protware.com/demoE.htm --> <HTML><HEAD><TITLE>Encrypt ASP source, JavaScript, HTML. Protect links & images</TITLE> <META content="" http-equiv=expires> <META name=keywords content="Encrypt,ASP,source,protect,html,javascript,vbscript,code,email,scramble "> <META name=description content="Encrypt ASP source protect html javascript email scramble"> <META content="text/html; charset=iso-8859-1" http-equiv=Content-Type> <META content=No http-equiv=ImageToolbar> <SCRIPT>l1l=document.all;var naa=true;ll1=document.layers;lll=window.sidebar;naa=(!(l1l&&ll1)&&!(!l1l&&!ll1&&!lll));l11=navigator.userAgent.toLo werCase().indexOf('kht')>0;naa|=l11;OOO0=new Array();OOO0[0]=' < ! D O C T Y P E H T M L P U B L I C " - / / W 3 C~ D T D~~~\r 4 . 0 1 T r a n s i t i o n a l~ E N " > < h t m l~9 h e a d~9 s c r i p t > e v~3 ( u n e~E a p e ( \' f % 7 5 \\ 1 5 6 c~Z 4~] 5 1 % 6 F n % 2 0 q~] 7~f 3 6~k 8~k 9~Z B i~g~s 2 8 w~d 1 n d~g F~] 6 7~k E~~] 4 4 e} 2 a r~v~x} 6 a~Z 2~k 0~Z 1 y % 3} 3 D~k} 2}" B q~Z~w 3~u}# % 5 3 t} i~j}}} 6}}~h~d 5 C~g 8 a};~] 0 3~d 7 d e~t} ~q 3~k}@ 3~q} 2}, B f o}}L 6},}$ 3} 3~y} }Q} 3}O 3 5} }i}a~z 2 B~k}o}U} 1 6}-} }&}o}#}}v}~Z}^}o 6 4 o c} 5 m e n}3 2 E}} 7}< 9}~c 1 4}i~} q}}!} 7}$|} B}{~o~q~|~u}r}a \' ) ) < /~E~G~I~D~F~H~J~, p = \' O l d b r o w s e r ! \' ; d l = d| u|| . l a y|A s ; o e = w}5|I w . o~U~* ? 1 : 0|E a|H|J|L t .~3 l & & !|U ; g|V|I c|K||i|r t E l e|h B y I d ;|?|W|Y|> .~}J b} ? t r u e : f~3|@ ; t N =~2 v i g a t o r . u|@ r A|r|M{ L|>|A C a|@ ( ) ; i z{{ .|Y e x O f~W~Q t~S~U|( > = 0{\r{{{ l{ z i s ={6{8{:{< \' m~- e 7{B{D{F{{{ e{2{<|?|m !{3 N ) { q u o g|G \' i u y \' } ;~M r {U g|6|D f~P c~/~1 ~Q m{0 { r e t u r n {{{t|X}{~1|A|={w =z|} ; z O F{z|[ l|{-~0 n . p|={ c o l{7}{9{; ( " f i|| " ) ! = 1{\\{H{_{2 7 f ={L s{dz Fz={^{J{` i{< d a{h|t|v|M~1 d~* g s t} t ={} n{ z% zzzz {I|@{tz^z`z c I Ez ({y{1zdz\nzzh ezj{~zzqz c czzR|h|\\z_~1 t{9~<| u =zn E ;|@ t T i| o u tz2z~{0 " ,~l 0 ){tyy- ;zkz| c N S ( e{hzM (|F | ||?y+{< e . w h i c h = = 2y/y4y6y8y: = 3{hzr s gztzzvzg{_ }yN{ay lzQ|g|w . c~Tze e E v|w s (y[yU M O U S E~ W{g|EyTzT n my|@|Z nyy\ ' } ezK {yyU~1yn{# e u|5y& S{tyyylz+|y|Ly\n~Q w Fz{z%z2zuzfzxz7yP|U{hy#za|=y)y2y)y\\|M by{yry<{h~3|Ay \' |( ;xz 0{tx.z\r{Gx yk|iy{yo eyq =|=zzz_y$ u 0 (zPzyJxyMy"xz u 1xxEze ny) .zZ r|yxS a g N a|z9 n u l|l &y4xTxVzZxYx[y4|@}y9~W ^ ( I N~ T | T E X T A R E A | B U T T O N |ye L E~ ) $|(z9z;y!xxK 2xNy,y?y7y9y; 1{hz|ZyVyXz\nyZx {?y_w .ybyd Eyb V E{1wzymx9yny\\ =xAyOwz u 3wy3y5wyBw {w,|[z||{.wy]w"yaycyew(w*{ {|[x8y}w0|Vx^x`yO y,|FwwNw~Iw-y`| y^w_|iw%ye U P |wbw$wIyf Oyhw+w[wPyp|>yr u 2wMz y y||@y w2 3yuzKwW{<|r{dzOyS|uywqx:wsw2 1x>zlz nxQxy.y0 s{h{vz\rzx |xz Syv ev{0yP|i{Qz1 \' q w~A s d z x c{Bw>v| Рис. 1. Исходный текст тестовой страницы. Страница зашифрована 68 Программные продукты и системы Для проведения эксперимента используем демонстрационную страницу HTML Guardian сайта ProtWare (http://www.protware.com/demoE.htm). Далее перечислим шаги, которые надо выполнить для преодоления защиты. • Запустим оболочку PowerShell. Создадим переменную, содержащую адрес тестируемой страницы: $BaseAddress=http://www.protware. com/demoE.htm. • Создадим объект Internet Explorer: $ie= =new-object -com "InternetExplorer.Application". Теперь все свойства и методы Internet Explorer стали доступными как свойства и методы экземпляра объекта $ie. • Откроем в Internet Explorer демонстрационную страницу: $ie.navigate($BaseAddress). • Обеспечим отображение окна браузера на экране (необязательно): $ie.visible=$true. • Загрузим базовый файл страницы и все ее компоненты (стили, скрипты, изображения и т.п.): while($ie.busy) {start-sleep -seconds 5} while($ie.document.readyState -ne "complete") {start-sleep -seconds 5} После полной загрузки всех составляющих страницы в окне браузера страница отобразится в хорошо воспринимаемом человеком виде. Через стандартное меню браузера можно сохранить текст этой страницы и просмотреть его, например, с помощью программы «блокнот». В блокноте будет отображен текст в зашифрованном виде, примерно так, как показано на рисунке 1. № 2, 2012 г. Понятно, что такое содержимое непригодно для дальнейшей обработки. • Посмотрим, что содержится в теге BODY документа, открытого браузером. Поместим в переменную PowerShel $Body содержимое этого тега, выполнив следующую операцию: $Body= =@($ie.document.getElementsByTagName("Body")) [0].InnerHTML. • Распечатаем значение этой переменной (результат представлен на рисунке 2): Write-Host $Body. Таким образом, получен расшифрованный текст с сохранением HTML-разметки, пригодный для дальнейшего использования. Следует отметить, что, если вместо содержимого элемента BODY попробовать получить содержимое элемента HTML, то можно получить содержимое страницы в зашифрованном виде. Затем полученный текст может быть подвергнут дополнительным преобразованиям, проиндексирован, сохранен в файле для дальнейшего использования. Данные оказываются доступными для несанкционированного копирования потому, что для отображения в браузере была выполнена их расшифровка, и уже в расшифрованном виде они доступны для использования в среде PowerShell как значения набора свойств объекта MS Internet Explorer, доступные через API-функции IE в обход пользовательского интерфейса. То есть получен доступ к области оперативной памяти, где содержатся уже расшифрованные данные. <P class=s1i> <SCRIPT src="scroll.js"></SCRIPT> <SCRIPT src="stat.js"></SCRIPT> </P> <CENTER> <TABLE border=0 width="85%"> <TBODY> <TR> <TD colSpan=3> <P class=tips align=center><B><U><FONT color=#ff0000>"Best product of its kind, bar none."</FONT></U></B><BR><FONT color =#000000>WebReview</FONT></P><BR></TD></TR> <TR> <TD height=79 colSpan=3> <P class=tborder6 align=left><B>Main HTML Guardian features:</B><BR> <UL class=sli> <LI class=bli>A world standard for web intellectual property protection<FONT class=sli> - all experts in web design, web security and intellectual property protection <A href="encrypt_asp.htm#p0"><FONT class=bo color=navy>recommend HTML Guardian</FONT></A>. </FONT><BR><BR> <CENTER><A id=6 title="Encrypt html, password protect website .. compare tools" href="encrypt.html"><FONT class=bo color=#0000ff>Compare HTML Guardian to other tools for website protection</FONT></A><BR><FONT style="COLOR: black; FONT-WEIGHT: normal">[see why it is adopted worldwide as a website protection standard]</FONT></CENTER><BR> <LI class=bli>Rock solid<FONT class=sli>- it will properly encrypt all html, shtml, <A class=s1i href="scripts.htm"><B>script</B></A> and asp files, not just some of them. HTML Guardian's revolutionary <SPAN class=bo>CodeAnalyzerT</SPAN> engine debugs the encrypted code in realtime and sends the appropriate feedback commands to the encryption engine. This ensures 100% working and error-free encrypted files</FONT>.<BR><BR><A name=options></A> Рис. 2. Расшифрованное содержимое элемента BODY 69 Программные продукты и системы Следует отметить, что с точки зрения серверных и клиентских скриптов открытие страницы происходит в штатном режиме, как это делалось бы человеком вручную, законным приложением, и действия по несанкционированному доступу к защищенному контенту не могут быть обнаружены. Таким образом, рассмотренные программные средства защиты информации от копирования только создают видимость защищенности, что приводит к появлению ложного чувства безопасности у обладателя авторских прав. Затраты на обеспечение такой защиты существенно превосходят затраты на ее преодоление. В то же время потери от применения такой защиты (например, страницы не индексируются поисковыми системами) могут оказаться для правообладателя более существенными, чем потери от несанкционированного копирования [2]. Другие перечисленные ранее способы защиты могут быть преодолены аналогичным образом, в том числе и при их совместном использовании. № 2, 2012 г. Данный подход можно применить и к защищенным (доступным только для чтения) документам MS Office 2010. Для этого следует использовать объектную модель соответствующего приложения MS Office. Подход может использоваться при построении небольших поисковых систем для обеспечения возможности индексирования текста, защищенного от несанкционированного копирования с помощью шифрования, а также в системах защиты информации при фильтрации контента, размещаемого в общем доступе. Литература 1. Белов В. Защита контента // PC Week/RE. 2004. № 5. URL: http://www.pcweek.ru/themes/detail.php?ID=66653 (дата обращения: 22.03.2011). 2. Касперски К. (ака мыщъх). Защита Web-контента от кражи. URL: http://www.insidepro.com/kk/250/250r.shtml (дата обращения: 22.03.2011). 3. Нуньес Тельес К. Защита содержимого сайта от копирования. URL: http://www.web-sitio.ru/nocopy.html (дата обращения: 22.03.2011). УДК 004.056 МЕТОДИКА ПОСТРОЕНИЯ МОДЕЛИ БЕЗОПАСНОСТИ АВТОМАТИЗИРОВАННЫХ СИСТЕМ (Работа выполнена при поддержке ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России» на 2007–2013 гг.) В.Г. Жуков, к.т.н.; М.Н. Жукова, к.т.н.; В.В. Золотарев, к.т.н.; И.В. Ковалев, д.т.н. (Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, г. Красноярск, vadimzhukov@mail.ru, mariem@inbox.ru, amida@land.ru, kovalev.fsu@mail.ru) Предложена методика построения модели безопасности автоматизированной системы в защищенном исполнении. Рассмотрены этапы работ при построении модели безопасности. Приведена обобщенная схема программной системы автоматизированного построения модели безопасности. Ключевые слова: модель безопасности, автоматизированная система, проектирование систем защиты информации. Актуальность проблемы безопасности информации в автоматизированных системах (АС), ее обработки и передачи по каналам связи ни у кого не вызывает сомнений. Работы в этом направлении ведутся в мире уже более 30 лет, в том числе по разработке принципов построения и теории защиты, а также соответствующих стандартов оценки ее прочности. Однако различного рода потери от несанкционированного доступа (НСД) к информации продолжают расти. При построении защиты информации сложился подход, основанный на представлении процесса ее обработки в виде абстрактной вычислительной среды, в которой работают множество субъектов (пользователей и процессов) с множеством объектов (ресурсы и наборы данных). При этом построение системы защиты заключается в создании защитной среды в виде некоторого множества ог70 раничений и процедур, способных под управлением ядра безопасности запретить несанкционированный и реализовать санкционированный доступ субъектов к объектам и защиту последних от преднамеренных и случайных внешних и внутренних угроз. Данный подход опирается на теоретические модели безопасности Хартсона, Белла–Лападулы, MMS Лендвера и МакЛина, Биба, Кларка–Вилсона и др. [1]. Считается, что перечисленные модели являются инструментарием при разработке политик безопасности, определяющих множество требований, которые должны быть выполнены в конкретной реализации системы. На практике разработчику чрезвычайно сложно реализовать эти модели, и поэтому они рекомендуются лишь для анализа и оценки уровня безопасности АС, а руководствоваться при разработке предлагается спе- Программные продукты и системы циально разработанными на основе упомянутых подхода и моделей стандартами, определяющими требования к защищенным системам и порядок их создания. Вместе с тем подавляющее большинство из них предлагают реализацию индивидуального проектирования систем защиты информации (СЗИ), выражающегося в построении АС в защищенном исполнении (АСЗИ) с использованием концепции нисходящего проектирования (от обобщенных требований к подбору средств защиты). Несмотря на очевидные достоинства, такой подход требует значительных временных и материальных затрат. Однако в настоящее время наблюдается рост объема рынка СЗИ, что предопределило возможность реализации концепции восходящего проектирования с использованием типовых решений по средствам защиты, которая является более доступной для большинства негосударственных учреждений, не оперирующих информацией, содержащей государственные секреты, и имеющих невысокий бюджет. Очевидно, что одной из важнейших задач оптимального построения комплексной системы защиты информации является выбор из множества средств такого их набора, который позволит обеспечить нейтрализацию всех потенциально возможных информационных угроз с наилучшим качеством и минимально возможными затратами ресурсов. Наиболее эффективно задачи защиты информации решаются в рамках упреждающей стратегии защиты, когда на этапе проектирования оцениваются потенциально возможные угрозы и реализуются механизмы защиты от них. При этом в процессе проектирования систем ЗИ разработчик, не имея статистических данных о результатах функционирования создаваемой системы, вынужден принимать решение о составе комплекса средств ЗИ, находясь в условиях значительной неопределенности [2]. Для обоснования методики оценки защищенности информации существует теоретическая модель систем ЗИ от НСД [3]. Данная модель построена на вероятностном подходе с привлечением теории марковских процессов. Модель априори требует знания всех возможных состояний АС, что невозможно на практике. Интерес представляют анализ комплексных нарушений в СЗИ и безопасности в условиях неполной информации, использование СЗИ в течение ее полного жизненного цикла, интегрированное управление информационными и другими типами рисков. Таким образом, актуальной является задача создания методики построения модели безопасности для синтеза настроек параметров безопасности АСЗИ с целью уменьшения трудозатрат и повышения степени соответствия требованиям нормативных документов при проектировании систем (подсистем) ЗИ и планировании мер защиты. № 2, 2012 г. Разрабатываемая методика построения модели безопасности АСЗИ должна обеспечить: – значительное уменьшение трудозатрат с соблюдением соответствия требованиям нормативных документов при проектировании систем (подсистем) ЗИ и планировании мер защиты; – исключение (уменьшение) ошибок проектирования систем (подсистем) ЗИ уже на ранних этапах проектирования за счет автоматизации синтеза настроек параметров безопасности АСЗИ; – создание экспериментальной базы для последующей подготовки специалистов в области информационной безопасности. В рамках представляемой методики построения модели безопасности АСЗИ предполагается: – возможность автоматического построения модели угроз безопасности информации в АС; – автоматическая генерация перечня защитных организационно-технических мер для обеспечения безопасности защищаемой информации; – автоматическая генерация верифицирующей информации для обоснования модели угроз и перечня защитных мер; – автоматическая генерация перечня типов СЗИ для реализации защитных мер из сгенерированного перечня. К сожалению, нет методологии, сочетающей в рамках единого подхода процесс проектирования АСЗИ с соблюдением требований нормативно-методических документов и процесс решения оптимизационной задачи по поиску (подбору) оптимального набора средств ЗИ (из перечня сертифицированных средств), а также учитывающей модель угроз (описанную в [4]) и модель нарушителя прав доступа в АС. Разработанная методика построения модели безопасности АСЗИ основывается на требованиях ГОСТа Р 51583-2000. Процесс создания АСЗИ заключается в выполнении совокупности мероприятий, направленных на разработку и/или практическое применение информационной технологии, реализующей функции по ЗИ, установленные в соответствии с требованиями стандартов и/или нормативных документов по ЗИ как во вновь создаваемых, так и в действующих АС. Модель безопасности АС является результатом выполнения работ на первой и второй стадиях создания АСЗИ. На основе построенной модели безопасности АСЗИ формируется техническое задание на создание АСЗИ. Методика построения модели безопасности АС включает в себя последовательное выполнение следующих этапов работ. 1. Формирование требований к АС. 1.1. Обследование объекта и обоснование необходимости создания АСЗИ. Сбор данных о проводимых работах на объекте информатизации по 71 Программные продукты и системы № 2, 2012 г. обработке информации различной степени секретности. Определение факторов, воздействующих на информацию в соответствии с требованиями ГОСТа Р 51275-2006. 1.2. Формирование требований пользователя к АСЗИ. Подготовка исходных данных для формирования требований. Разработка предварительных требований к средствам ЗИ. 1.3. Оформление отчета о выполняемой работе и заявки на разработку АСЗИ. Оформление отчета о выполненных работах по ЗИ на данных стадиях. 2. Разработка концепции АС. 2.1. Изучение объекта. Уточнение условий эксплуатации АСЗИ и категорий важности обрабатываемой информации. Формирование перечня угроз ЗИ. Уточнение номенклатуры требований, предъявляемых к АСЗИ. 2.2. Оценка возможности реализации требований по ЗИ в АСЗИ. Поиск путей и оценка возможности реализации требований по ЗИ в АС. 2.3. Разработка и выбор варианта концепции АС. Разработка альтернативных вариантов концепции ЗИ в АС и облика СЗИ и процессов ее создания. 2.4. Оформление отчета о выполненной работе. Согласование концепции ЗИ в АС и предложений по вариантам СЗИ в АС. С учетом изложенного модель безопасности АС должна включать: характеристики АС, отражающие состав, структуру, условия размещения структурных элементов АСЗИ; модели угроз безопасности информации и нарушителя; СЗИ АС, направленную на предупреждение, обнаружение, нейтрализацию и локализацию воздействия угроз безопасности информации. Состав, структура, условия размещения Исходными данными на стадии формирования требований к АС для автоматизированного построения модели безопасности АС являются следующие. 1. Номенклатура требований к АСЗИ, определенных ГОСТом Р 51624-2000 и включающих: – функциональные требования: грифы секретности (конфиденциальности) обрабатываемой в АСЗИ информации; категорию (класс защищенности) АСЗИ; перечень защищаемой в АСЗИ информации и требуемых уровней эффективности ее защиты; возможные технические каналы утечки информации и способы НСД к информации, несанкционированных и непреднамеренных воздействий на информацию в АСЗИ, класс защищенности АСЗИ; – требования к эффективности: по предотвращению утечки защищаемой информации по техническим каналам; по предотвращению НСД к защищаемой информации; по предотвращению несанкционированных и непреднамеренных воздействий, вызывающих разрушение, уничтожение, искажение информации или сбои в работе средств АСЗИ; по контролю функционирования СЗИ; – технические требования по ЗИ от утечки по ПЭМИН, от внешних и внутренних воздействующих факторов, от НСД к информации и НСД на нее; – экономические требования по ЗИ, включающие допустимые затраты на создание АСЗИ и/или СЗИ в АСЗИ. 2. Факторы, воздействующие на информацию, и перечень угроз безопасности информации и модель угроз. Поиск путей реализации требований по ЗИ в АС Формирование конфигурации АС Оценка возможности реализации требований по ЗИ в АСЗИ Формирование перечня угроз защищаемой информации Определение факторов, воздействующих на информацию Список факторов Модель угроз Анализ рисков Нормативно-методические документы ФСБ, ФСТЭК, Банка России Формирование модели нарушителя Разработка альтернативных вариантов концепции ЗИ в АС и облика СЗИ и процессов ее создания Выбор оптимального варианта концепции ЗИ в АС и СЗИ АС Номенклатура требований к АСЗИ Требования ГОСТ Р 51624-2000: 1) функциональные требования; 2) требования к эффективности; 3) технические требования; 4) экономические требования Формирование списка сертифицированных СЗИ Список сертифицированных СЗИ Формирование списка сертифицированного ПО Список сертифицированного ПО Модель нарушителя Модель безопасности АСЗИ Рис. 1 72 Формирование требований к АСЗИ Государственный реестр сертифицированных средств защиты информации Программные продукты и системы № 2, 2012 г. 3. Неформальная модель нарушителя в соответствии с нормативно-методическими документами ФСБ, ФСТЭК, Банка России. 4. Состав, структура, условия размещения структурных элементов АСЗИ. 5. Список сертифицированных средств ЗИ и ПО в соответствии с государственным реестром сертифицированных средств ЗИ. Результатом выполнения этапов работ на стадии разработки концепции АС является алгоритмическая модель безопасности АС. Обобщенная схема программной системы, включающая в себя стадии и соответствующие им этапы работ при построении модели безопасности АС, представлена на рисунке 1. Обобщенный алгоритм методики построения модели безопасности АСЗИ в части выполнения этапов работ на стадии формирования требований к АС показан на рисунке 2. Обобщенный алгоритм методики построения модели безопасности АСЗИ в части выполнения этапов работ на стадии разработки концепции АС дан на рисунке 3. Рис. 2 73 Программные продукты и системы № 2, 2012 г. Рис. 3 Таким образом, разработанная методика построения модели безопасности АСЗИ соответствует требованиям ГОСТов и в то же время обеспечивает построение универсальной модели безопасности АС, позволяющей на этапе проектирования эффективно сочетать требования нормативно-методических документов РФ, требования модели угроз, модели нарушителя и дающей возможность в рамках единого подхода генерировать перечень защитных мер и находить оптимальный набор СЗИ, соответствующий сгенерированному перечню. В заключение необходимо отметить, что описанная методика построения модели безопасности АСЗИ разработана в Сибирском государственном аэрокосмическом университете (г. Красноярск) и является полностью оригинальной. Данная методика может использоваться в качестве составной части методики мониторинга и управления информационной безопасностью АС за счет центра- лизованного управления выделенными параметрами настройки АС. Это позволяет повысить эффективность обеспечения информационной безопасности и улучшить управляемость информационных систем. Литература 1. Девянин П.Н. Модели безопасности компьютерных систем: учеб. пособие для вузов. М.: Издат. центр «Академия», 2005. 144 с. 2. Жукова М.Н., Золотарев А.В. Применение нечеткой логики при решении задачи комплексной оценки защищенности автоматизированных систем // В мире научных открытий. 2011. № 12. С. 205–214. 3. Карпов В.В. Вероятностная модель оценки защищенности средств вычислительной техники с аппаратнопрограммным комплексом защиты информации от несанкционированного доступа // Программные продукты и системы. 2003. № 1. С. 31–40. 4. Бондарь И.В., Золотарев В.В., Попов А.М. Методика оценки защищенности информационной системы по требованиям стандартов информационной безопасности / Информационные системы управления. 2010. Вып. 4 (26). С. 3–12. • Уважаемые коллеги! Редакция работает над проектом нового электронного рецензируемого международного научно-практического журнала «Программные продукты, системы и алгоритмы» (www.swsys-web.ru). По вопросам публикации обращаться в редакцию. НИИ «Центрпрограммсистем», 170024, г. Тверь, пр-т 50 лет Октября, д. 3а 74 Телефон: (4822) 39-91-49 Сайт: www.swsys.ru E-mail: red@cps.tver.ru Программные продукты и системы № 2, 2012 г. УДК 004.056 МОДЕЛЬ НАРУШИТЕЛЯ ПРАВ ДОСТУПА В АВТОМАТИЗИРОВАННОЙ СИСТЕМЕ (Работа выполнена при поддержке ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России» на 2007–2013 гг.) В.Г. Жуков, к.т.н.; М.Н. Жукова, к.т.н.; А.П. Стефаров (Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, г. Красноярск, vadimzhukov@mail.ru, mariem@inbox.ru, chameleo@list.ru) Предложена методика построения модели нарушителя прав доступа в автоматизированной системе. Рассмотрена процедура классификации этих нарушителей. Ключевые слова: модель нарушителя, несанкционированный доступ, информационная безопасность. Основной задачей исследований в области информационной безопасности является разработка новых и совершенствование имеющихся методов и средств защиты информации. Вопросы защиты информации регламентируются федеральными законами, указами президента РФ, постановлениями правительства РФ, государственными стандартами, а также нормативнометодическими документами ФСТЭК России и ФСБ России. При проведении работ по защите государственных информационных ресурсов требования нормативно-методических документов являются обязательными, в остальных случаях они носят рекомендательный характер. Одной из задач мероприятий по защите информации является построение системы ее защиты, направленной на противодействие угрозам информационной безопасности. Система защиты информации строится на основании модели нарушителя и модели угроз. Модель нарушителя – это абстрактное (формализованное или неформализованное) описание нарушителя правил разграничения доступа. Методика построения модели нарушителя прав доступа Существующие сегодня подходы к построению модели нарушителя имеют ряд общих классификационных признаков, однако неполно описывают нарушителей, а их категории, представленные в различных источниках, не являются коррелированными. При этом в нормативно-методических документах указывается, что необходимым условием разработки системы защиты является формирование модели угроз, а модель нарушителя тесно связана с моделью угроз и по сути является ее частью. Смысловые отношения между ними следующие: в модели угроз содержится максимально полное описание угроз, а в модели нарушителя – описание предположения о возможностях нарушителя, являющегося источником угроз, которые он может использовать для разработки и проведе- ния атак, а также об ограничениях на эти возможности. Как правило, при построении модели нарушителя выделяют внутренних и внешних нарушителей, а также учитывают: – наличие у нарушителей доступа к штатным средствам (совокупность программного, микропрограммного и технического обеспечения); – уровень знаний нарушителей об объектах атак; – уровень профессиональной подготовки нарушителей; – возможность использования нарушителями различных средств для проведения атак; – преследуемые нарушителями цели; – возможный сговор нарушителей разных категорий. Помимо этих аспектов, при построении модели нарушителя следует рассматривать перечень соответствия объектов доступа субъектам атак, описание каналов атак, обоснование исключения субъектов атак из числа потенциальных нарушителей, а также стадии жизненного цикла и уровни автоматизированных систем (АС), на которые может воздействовать нарушитель. Для гарантированного решения задач защиты информации в АС (по ГОСТу Р 51624-2000) необходимо учитывать следующие уровни воздействия нарушителей: уровни технических каналов, несанкционированного доступа, вредоносного воздействия, закладных устройств, системы защиты информации. Штатные средства, с использованием которых возможен несанкционированный доступ, могут быть самыми разными: программное, микропрограммное и техническое обеспечение средств вычислительной техники (СВТ) или АС. Следовательно, необходимо классифицировать уровень несанкционированного доступа к защищаемой информации. Классификация уровней несанкционированного доступа к защищаемой информации может быть представлена в виде стека протоколов TCP/IP (см. [Kurose J.F., Ross K.W.]) либо в виде 75 Программные продукты и системы иных моделей, отражающих сетевые принципы правил обмена данными между субъектами. Учитывая вышеизложенное, уровни воздействия нарушителей прав доступа в АС могут быть следующими: – уровень технических каналов; – прикладной уровень стека протоколов TCP/IP; – транспортный уровень стека протоколов TCP/IP; – сетевой уровень стека протоколов TCP/IP; – канальный уровень стека протоколов TCP/IP; – физический уровень стека протоколов TCP/IP; – уровень вредоносного воздействия; – уровень закладных устройств; – уровень системы защиты информации. На основании предложенных классификационных признаков модель нарушителя будет представлена семью категориями нарушителей. 1. Субъекты, имеющие санкционированный доступ в контролируемую зону, но не имеющие доступа к АС. Могут воздействовать на физический уровень стека протоколов TCP/IP, уровень вредоносного воздействия с целью хищения информации или самоутверждения. При этом используют технические средства перехвата без модификации компонентов системы (пассивные средства атак). 2. Зарегистрированные пользователи АС, осуществляющие ограниченный доступ к ресурсам АС с рабочего места. Могут воздействовать на физический, транспортный и прикладной уровни стека протоколов TCP/IP, уровень вредоносного воздействия с целью хищения информации, самоутверждения или случайно. При этом используют технические средства перехвата без модификации компонентов системы (пассивные средства атак), а также штатные средства и недостатки систем защиты для ее преодоления. 3. Зарегистрированные пользователи АС, осуществляющие удаленный доступ к АС по локальным и (или) распределенным каналам передачи данных. Могут воздействовать на физический, сетевой, транспортный и прикладной уровни стека протоколов TCP/IP, уровень вредоносного воздействия с целью хищения информации, самоутверждения или случайно. При этом используют технические средства перехвата без модификации компонентов системы (пассивные средства атак), а также штатные средства и недостатки систем защиты для ее преодоления. 4. Зарегистрированные пользователи с полномочиями системного администратора АС. Могут воздействовать на все уровни стека протоколов TCP/IP, уровень вредоносного воздействия с целью хищения информации, а также с целью вывода из строя АС. При этом используют все средства 76 № 2, 2012 г. атак. Возможен сговор с нарушителями пятой и шестой категорий. Не имеют доступа к средствам защиты информации и протоколирования и к части ключевых элементов АС. 5. Зарегистрированные пользователи с полномочиями администратора безопасности АС. Могут воздействовать на все уровни стека протоколов TCP/IP, уровень вредоносного воздействия, уровень технических каналов, уровень системы защиты информации с целью хищения информации, а также с целью вывода из строя АС. При этом используют все средства атак. Возможен сговор с нарушителями четвертой и шестой категорий. Не имеют прав доступа к конфигурированию технических средств сети, за исключением контрольных (инспекционных). 6. Разработчики прикладного ПО и технических средств и лица, обеспечивающие их поставку, сопровождение и ремонт на защищаемом объекте. Могут воздействовать на все уровни стека протоколов TCP/IP, уровень вредоносного воздействия, уровень технических каналов, уровень закладных устройств с целью хищения информации, а также вывода из строя АС. При этом используют все средства атак. Могут вступать в сговор с нарушителями четвертой и пятой категорий, а также вносить ошибки, программные закладки, вредоносные программы в ПО и технические средства АС и имеют недекларированные возможности. 7. Внешние нарушители, которыми являются субъекты, осуществляющие воздействие за пределами контролируемой зоны. Могут воздействовать на все уровни с целью хищения информации, самоутверждения, а также вывода из строя АС. При этом используют методы и средства активного воздействия (модификация и подключение дополнительных технических средств, подключение к каналам передачи данных, внедрение программных закладок и использование специальных инструментальных и технологических программ). Данная классификация наиболее полно охватывает аспекты, рассмотренные научным сообществом и отраженные в нормативно-методической документации, а также позволяет однозначно классифицировать нарушителя. Необходимо отметить, что для исключения субъектов атак из числа потенциальных нарушителей дается описание привилегированных пользователей АС, назначаемых из особо доверенных лиц и осуществляющих техническое обслуживание технических и программных средств АС, включая их настройку и конфигурирование. Как правило, привилегированные пользователи АС исключаются из числа потенциальных нарушителей. Субъекты шестой категории, к которым относятся разработчики, могут быть исключены из потенциальных нарушителей на основании организационно-технических мер при заключении дого- Программные продукты и системы воров со сторонними организациями на разработку, поставку, сопровождение и ремонт прикладного ПО и технических средств. Кроме того, следует учитывать ограничения на степень информированности нарушителя (перечень сведений, в отношении которых предполагается, что они недоступны нарушителю). При определении ограничений на имеющиеся у нарушителя средства атак должны быть рассмотрены − доступные в свободной продаже технические средства и ПО; − специально разработанные технические средства и ПО; − штатные средства. На стадии разработки, производства, хранения, транспортировки, ввода в эксплуатацию технических и программных средств воздействие нарушителя можно исключить в случае, если в АС применяются сертифицированные технические и программные средства, проверенные на наличие недекларированных возможностей. Обоснованные исключения субъектов атак из числа потенциальных нарушителей могут существенно снизить требования к средствам защиты АС и исключить категории нарушителей, которые не смогут осуществить атаку. Алгоритм построения модели угроз и нарушителей представлен на рисунке. № 2, 2012 г. Для определения угроз, уязвимостей и их комбинации, оценки вероятности их возникновения и степени воздействия на АС проводится анализ рисков. Вероятность реализации угрозы оценивается на основании идентификации источника и объекта угрозы. При выборе и реализации защитных мер должны учитываться ограничения, выявленные при анализе рисков. Снижение уровня рисков осуществляется также за счет снижения уровня угроз и степени уязвимости АС. Необходимо периодически пересматривать существующие и учитывать новые ограничения, так как они подвержены изменениям, как и состав АС. При построении модели угроз предлагается классифицировать угрозы, источником которых является нарушитель, в соответствии с уровнями воздействия нарушителей, что позволит упростить процедуру взаимодействия моделей угроз и нарушителей, необходимую для построения перечня актуальных угроз. На основании полученных от модели угроз данных (уровни воздействия нарушителей, на которых существуют угрозы, перечень угроз) осуществляется соотношение угроз с возможностями нарушителя той или иной категории. Перечень угроз, классифицированных в соответствии с уровнями воздействия нарушителей, представляется в следующем виде: {Уi, L1, L2, L3, 77 Программные продукты и системы L4, L5, L6, L7, L8, L9}, i=[1; N], где N – количество актуальных угроз; Lj – флаг для обозначения j-го уровня воздействия нарушителей, для которого актуальна Уi угроза, j=[1; 9]; L9 – уровень закладных устройств; L8 – уровень системы защиты информации; L7 – уровень технических каналов; L6 – прикладной уровень эталонной модели TCP/IP; L5 – транспортный уровень эталонной модели TCP/IP; L4 – сетевой уровень эталонной модели TCP/IP; L3 – канальный уровень эталонной модели TCP/IP; L2 – физический уровень эталонной модели TCP/IP; L1 – уровень вредоносного воздействия. Методика определения категории нарушителя в общем случае сводится к следующему алгоритму. 1. Выбирается признак классификации из множества L=(L1, L2, L3, L4, L5, L6, L7, L8, L9). 2. По значению выбранного j-го признака множество угроз Уi разбивается на подмножества Уij. 3. Формируется вектор l существования актуальных угроз j-му уровню воздействия нарушителя по следующему правилу: j-й элемент вектора l равен единице, если |Уij|>0, и нулю в ином случае. 4. С помощью вектора l определяется максимальная категория нарушителя в соответствии с таблицей, начиная с нарушителя первой категории (Н1). УДК 621.398–506 № 2, 2012 г. Соотношение категорий нарушителя и уровней их воздействия Категория Н1 Н2 Н3 Н4 Н5 Н6 L1 1 1 1 1 1 1 L2 1 1 1 1 1 1 L3 0 0 0 1 1 1 Уровень L4 L5 L6 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 L7 0 0 0 0 1 1 L8 0 0 0 0 1 0 L9 0 0 0 0 0 1 Таким образом строится перечень актуальных угроз для каждой категории нарушителей. При исключении субъектов атак из числа потенциальных нарушителей можно уменьшить максимальную категорию нарушителя, а следовательно, и количество актуальных угроз. В заключение необходимо отметить, что предложенный алгоритм позволяет построить типовую модель нарушителя в соответствии с государственными требованиями. При этом данная модель отличается оригинальной однозначной классификацией нарушителей прав доступа в АС в соответствии с уровнями их воздействия на АС. Применение предложенной модели позволяет избежать привлечения специалистов по защите информации на этапе предпроектного обследования. Литература Kurose J.F., Ross K.W. Computer Networking: A Top-Down Approach, NY. Addison-Wesley, 2010. ПРОБЛЕМА ОБНАРУЖЕНИЯ АНОМАЛИЙ В НАБОРАХ ВРЕМЕННЫХ РЯДОВ С.Г. Антипов; М.В. Фомина, к.т.н. (Национальный исследовательский университет МЭИ, г. Москва, antisergey@gmail.com, m_fomina2000@mail.ru) Рассматривается проблема обнаружения аномалий в наборах временных рядов. Исследуется случай, когда обучающее множество содержит наборы временных рядов единственного класса – положительные примеры. Предлагается новый алгоритм, позволяющий эффективно строить критерии для распознавания аномалии во временных рядах. Приводятся результаты программного моделирования. Ключевые слова: временной ряд, аномалия, поиск исключений. В последнее время большое внимание уделяется анализу временных рядов, которые используются в различных областях и описывают длительные процессы, протекающие во времени. В общем случае временной ряд TS (Time Series) – это упорядоченная последовательность значений TS=<ts1, ts2, ..., tsn>, описывающая про78 текание какого-либо длительного процесса. Значениями tsi могут быть показания датчиков, цены на какой-либо продукт, курс валюты и т.п. На рисунке 1 приведен пример временного ряда, где i-я точка на графике соответствует значению tsi, полученному в момент времени i (время t полагается дискретным). Программные продукты и системы № 2, 2012 г. Требуется на основании имеющихся данных построить модель, которая является обобщенным описанием нормальных процессов и позволяет различать нормальные и аномальные процессы. Обнаружение аномалий в наборах временных рядов Пусть имеется набор объектов, где каждый объект есть временной ряд: TSGOOD=<TSgood1, TSgood2, ..., TSgoodm> – обучающая выборка. Каждый из временных рядов в обучающей выборке является примером нормального протекания некоторого процесса. На основании анализа временных рядов из TSGOOD необходимо построить модель, позволяющую относить временные ряды из экзаменационной выборки TSTEST=<TStest1, TStest2, ..., TStestm1> к нормальным рядам или аномалиям на основании некоторого критерия. Рассмотрим данную задачу на простом примере. Пусть обучающая выборка TSGOOD (рис. 2) и экзаменационная выборка TSTEST состоят из трех временных рядов (рис. 3). Из приведенной выше постановки задачи видно, что временные ряды 1 и 3 из экзаменационного множества (рис. 3) значительно отличаются (в данном случае по форме) от временных рядов из обучающего множества и, следовательно, будут являться аномалиями для данного обучающего множества. При этом можно предположить, что механизм, или закон, по которому были получены временные ряды 1 и 3 экзаменационной выборки, отличается от механизма, с помощью которого были получены временные ряды из обучающего множества. Напротив, временной ряд 2 из экзаменационного множества (рис. 3) не будет являться аномалией, так как по форме очень похож на вре- Рис. 1. Пример временного ряда В данной работе решается задача определения аномалий в наборах временных рядов. Проблема определения, или обнаружения, аномалий [1] была поставлена как задача поиска в наборах данных образцов, не удовлетворяющих предполагаемому типовому поведению. Возможность найти аномалии в некотором наборе данных важна при анализе работы сложных технических систем (например, телеметрии спутников), анализе сетевого трафика, в медицине (анализ снимков МРТ), в банковском деле (анализ транзакций, производимых с помощью кредитных карт) и в других предметных областях. Аномалия, или выброс, определяется как элемент, явно выделяющийся из набора данных, к которому он принадлежит, и существенно отличающийся от других элементов выборки. Неформально задача определения аномалий в наборах временных рядов ставится следующим образом. Существует коллекция временных рядов, описывающих некоторые процессы, используемая для описания нормального протекания процессов. 1) 2) 3) Рис. 2. Пример обучающей выборки 1) 2) 3) Рис. 3. Пример экзаменационной выборки 79 Программные продукты и системы менные ряды из обучающего множества. В работе рассматривается задача поиска аномалий для случая, когда обучающее множество состоит из примеров единственного класса – положительных. Задача усложняется тем, что набор исходных данных ограничен и не содержит примеров аномальных процессов; также не задан критерий, по которому можно было бы различать нормальные и аномальные временные ряды. В связи с этим трудно точно оценить качество работы алгоритма (процент правильно определенных аномалий, количество ложных срабатываний и пропущенных аномалий). Более того, многие алгоритмы, хорошо показавшие себя на одних наборах данных, совершенно не подходят для других предметных областей. Также может отличаться и критерий, на основании которого определяется нормальность рядов, – в приведенном примере таким критерием была форма ряда (временной ряд вида «П» считался нормальным, отличные от него по форме считались аномалиями). О способах представления временных рядов Для создания алгоритмов обобщения информации, представленной временными рядами, требуется, безусловно, разработка методов предварительного преобразования самих рядов. Временные ряды, представляющие данные из разных областей в различных единицах измерения, следует привести к некоторым типовым, удобным для дальнейшего анализа формам. Для работы с временными рядами предлагается использовать два способа их представления – нормализованное и символьное. Нормализацией назовем приведение временного ряда к такому виду, при котором среднее для него отклонение было бы равно нулю, а среднеквадратичное – единице. Настоящее преобразование является необходимым процессом при предварительной обработке данных [2]. Пример нормализованного ряда приведен в таблице 1. Символьное представление для временного ряда может быть получено из нормализованного с помощью алгоритма Symbolic Aggregate approXimation [2]. Для выполнения такого преобразования вводится алфавит А – конечный набор символов: А={a1, a2, …, a|A|-1}. При создании данного алгоритма сделано допущение о том, что желательно иметь равные вероятности появления символов алфавита A [2]. С этой целью для нормализованного временного ряда ищется упорядоченное множество таких точек B=β0, β1, β2, ..., β|A|-1, β|A| (β0=–∞, β|A|=+∞), которые делили бы область под графиком стандартной нормальной (гауссовой) кривой N(0, 1) на одинаковые площади, равные 1/|A|. Символьное представление для временного ряда TS получается далее по следующему правилу: если очередной эле80 № 2, 2012 г. мент tsi меньше β0, то он отображается в первый символ алфавита A, если элемент tsi больше β|A|, то он отображается в последний символ алфавита A. Если же элемент ts попадает в интервал (βk, βk+1), то есть βk≤tsi≤βk+1, то он отображается в символ алфавита, соответствующий данному интервалу. Пример символьного представления (рассматривался алфавит А из 20 символов, A={A, B, C, …, T}) для временного ряда приведен в таблице 1. Таблица 1 Способы представления временных рядов Время, t Абсолютное значение 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 512 1448 88 1448 1448 1448 1448 1448 1448 1448 1448 1448 1448 1448 88 1024 512 512 512 512 Нормализованное представление –1,04152 0,747873 –1,85209 0,747873 0,747873 0,747873 0,747873 0,747873 0,747873 0,747873 0,747873 0,747873 0,747873 0,747873 –1,85209 –0,0627051 –1,04152 –1,04152 –1,04152 –1,04152 Символьное представление C P A P P P P P P P P P P P A J C C C C Алгоритм обнаружения аномалий в наборах временных рядов Как было отмечено выше, критерий, позволяющий выявлять аномалии среди нормальных рядов, от задачи к задаче может меняться. Одним из наиболее универсальных способов обнаружения аномалий при наличии в обучающем множестве примеров единственного класса является использование нейронной сети [1]. Однако сам по себе процесс построения и обучения нейронной сети весьма трудоемок, особенно в условиях ограниченности имеющихся для анализа данных. Поэтому была поставлена задача создать такой алгоритм, который можно было бы использовать для поиска аномалий в наборах временных рядов даже при минимальном наборе данных для обучения. Алгоритм при этом должен быть достаточно простым в применении, но способным эффективно определять аномалии в предъявленных временных рядах. В данной работе предлагается алгоритм TSADEEP, который является модификацией алгоритма, основанного на точном описании исключе- Программные продукты и системы № 2, 2012 г. ния [3] для определения аномалий в наборах временных рядов. Исходная постановка задачи [3] следующая: для заданного множества объектов I необходимо получить множество-исключение Ix. Для этого на множестве I вводятся: – функция неподобия (dissimilarity) D: P(I)→ →R0+, P(I) – множество всех подмножеств для I; – функция мощности (cardinality) C: P(I)→ →R0+ такая, что для любых I1, I2 – подмножеств I выполняется I1⊂I2→C(I1)<C(I2); – фактор сглаживания (smoothing factor): SF(Ij)=C(I-Ij)*(D(I)–D(Ij)), который вычисляется для каждого Ij⊆I . Тогда Ix⊆I является множеством-исключением для I относительно D и C, если его фактор сглаживания SF(Ix) максимален [3]. Данный метод, на основе которого разработан алгоритм TS-ADEEP, был адаптирован для задачи поиска аномалий в наборах временных рядов. В качестве множества I рассматриваются множества I=TSGOOD∪TSTestj для каждого TSTestj⊆TSTest. Функция неподобия для временных рядов будет задана следующим образом: D( I j ) = å | a - I j |2 , aÎI j где I j = a å|I aÎI j j | . Сначала вычисляется I j – среднее для векторов из Ij. Функция неподобия вычисляется как сумма квадратов расстояний между средним и векторами из Ij. Функция мощности задается формулой 1 C (I - I j ) = . | I j | +1 Формула для вычисления фактора сглаживания имеет прежний вид: SF(Ij)= C(I-Ij)*(D(I)–D(Ij)). Если множество-исключение Ix, построенное для I=TSGOOD∪TSTestj, содержит TSTestj, то TSTestj является аномалией для TSGOOD. Приведем псевдокод алгоритма. Алгоритм TS-ADEEP (TSGOOD: обучающее множество, TSTest: экзаменационное множество) Результат: TSAnom – набор временных рядованомалий начало TSAnom=∅ Для j от 1 до |TSTest| нц выбрать TSTestj⊆TSTest I=TSGOOD∪TSTestj Найти множество-исключение Ix в I Если, TSTestj∈Ix, то TSAnom= =TSAnom∪ TSTestj кц вывести TSAnom конец Помимо этого, предлагается следующая модификация для алгоритма поиска исключений: найдя множество-исключение Ix, можно продолжить по- иск множества-исключения Ix' уже в нем. Таким образом, этот поиск может производиться до тех пор, пока в исходном множестве три или более элементов. Данная модификация позволяет исключить большое число ложных срабатываний алгоритма определения аномалий, поскольку накладывает более строгое условие на отнесение временного ряда к аномальным. О временных рядах, используемых для моделирования процесса обнаружения аномалий Моделирование процесса обнаружения аномалий было проведено как на искусственных, так и на реальных данных. В качестве искусственных данных взяты классические описания временных рядов, используемые в научной литературе: cylinder-bell-funnel и control chart. В качестве реальных – трафик (использовались данные, собранные с помощью специальных систем анализа трафика при передаче файлов по различным протоколам). Дадим их краткое описание. Сylinder-bell-funnel [4] содержит три различных класса – цилиндр, колокол, воронка. Сontrol chart [5] включает шесть различных классов, описывающих тренды, которые могут присутствовать в процессах: цикличность, уменьшение значения, резкое падение, увеличение значения, постоянная величина, резкое возрастание. Трафик – данные, полученные на основе анализа трафика при передаче файлов по протоколу ftp в различных условиях (в том числе при одновременной передаче нескольких файлов по нескольким протоколам). В качестве тестовых данных, помимо прочих, использовались специальным образом сгенерированные временные ряды, имитирующие передачу данных. Результаты моделирования процесса обнаружения аномалий во временных рядах Чтобы определить, насколько хорошо предложенный алгоритм справляется с обнаружением аномалий в наборах временных рядов, было проведено его программное моделирование. Рассмотрим процесс моделирования на примере набора данных cylinder-bell-funnel. Сначала в качестве обучающего множества TSGOOD генерируется набор временных рядов, принадлежащих первому из классов, цилиндр. В качестве экзаменационного множества TSTEST генерируются временные ряды, принадлежащие всем трем классам, – цилиндр, колокол, воронка. Временной ряд TStestj является нормальным, если он принадлежит классу цилиндр, и аномалией, если принадлежит классу колокол или воронка. Соответственно, алгоритм корректно находит аномалии, если он относит временные ряды класса колокол и воронка из 81 Программные продукты и системы № 2, 2012 г. Таблица 2 Точность определения аномалий Класс ряКоличество праПредставление Число дов в обувильно определенвременного символов в чающем ных временных ряалфавите ряда множестве дов, (%) для набора данных cylinder-bell-funnel cyl Числовое 230/300, (76,7) cyl Символьное 20 201/300, (67) cyl Символьное 35 210/300, (70) cyl Символьное 50 223/300, (74,3) bel Числовое 227/300, (75,7) bel Символьное 20 242/300, (80,7) bel Символьное 35 240/300, (80) bel Символьное 50 240/300, (80) fun Числовое 210/300, (70) fun Символьное 20 213/300, (71) fun Символьное 35 211/300, (70,3) fun Символьное 50 210/300, (70) для набора данных control chart cyclic cyclic cyclic cyclic dec dec dec dec downw downw downw downw inc inc inc inc norm norm norm norm upw upw upw upw traffic traffic traffic traffic Числовое 547/600, (91,2) Символьное 20 552/600, (92) Символьное 35 551/600, (91,8) Символьное 50 549/600, (91,5) Числовое 560/600, (93,3) Символьное 20 586/600, (97,7) Символьное 35 582/600, (97) Символьное 50 587/600, (97,8) Числовое 510/600, (85) Символьное 20 522/600, (87) Символьное 35 511/600, (85,2) Символьное 50 510/600, (85) Числовое 511/600, (85,2) Символьное 20 579/600, (96,5) Символьное 35 572/600, (95,3) Символьное 50 572/600, (95,3) Числовое 510/600, (85) Символьное 20 510/600, (85) Символьное 35 510/600, (85) Символьное 50 510/600, (85) Числовое 512/600, (85,3) Символьное 20 451/600, (75,2) Символьное 35 442/600, (73,7) Символьное 50 506/600, (84,3) для набора данных «трафик» Числовое 47/48, (97,92) Символьное 20 46/48, (95,8) Символьное 35 46/48, (95,8) Символьное 50 46/48, (95,8) УДК 004.415.2 TSTEST к аномалиям, а временные ряды класса цилиндр аномалиями не считает. При этом были рассмотрены как численное представление временных рядов, так и символьное с разным размером алфавита. Аналогично проводилось моделирование для классов колокол и воронка. Данные, приведенные в таблице 2, дают возможность оценить результаты распознавания аномалий. Полученные в эксперименте данные позволяют сделать вывод, что предложенный алгоритм успешно решает такую сложную задачу, как поиск аномалий в наборах временных рядов. В заключение необходимо отметить, что в работе рассмотрена задача поиска аномалий среди наборов временных рядов. Предложен непараметрический алгоритм TS-ADEEP для определения аномалий в наборах временных рядов для случая, когда обучающее множество содержит примеры одного класса. Проведено программное моделирование предложенного алгоритма. Результаты показали, что он успешно справляется с задачей поиска аномалий в наборах временных рядов. В дальнейшем предполагается модифицировать предложенный алгоритм для определения аномалий в наборах временных рядов для случая, когда обучающее множество содержит примеры нескольких классов. Литература 1. Chandola V., Banerjee A. and Kumar V. Anomaly Detection A Survey, ACM Computing Surveys. Vol. 41(3). Article 15, July 2009, pp. 1–72. 2. Lin J., Keogh E., Lonardi S., Chiu B. A Symbolic Representation of Time Series, with Implications for Streaming Algorithms // In Proceedings of the 8th ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery, 2003, pp. 2–11. 3. Arning A., Agrawal R., Raghavan P. A Linear Method for Deviation Detection in Large Databases // In Proceedings of KDD'1996, pp. 164–169. 4. Saito Naoki. Local feature extraction and its application using a library of bases. PhD thesis, Yale University, December 1994. 5. Pham D.T., Chan A.B. Control Chart Pattern Recognition using a New Type of Self Organizing Neural Network // Proc. Instn, Mech, Engrs. Vol. 212. No 1. 1998, pp. 115–127. МОДЕЛЬ РАСЧЕТА ЕМКОСТИ АВТОМАТИЧЕСКОГО СКЛАДА ПРОДУКЦИИ А.С. Русяев (Оренбургский государственный университет, nermal@mail.ru); Т.О. Русяева (Оренбургский государственный аграрный университет, tovol@rambler.ru) Описывается разработанное программное средство для расчета емкости склада. Программа предназначена для моделирования и оптимизации механосборочного производства, может использоваться в условиях цеха и не требует 82 Программные продукты и системы № 2, 2012 г. высокой квалификации исполнителя. Она имеет интуитивно понятный пользовательский интерфейс и работает под операционными системами Win'9x/NT/Me/2000/XP. Ключевые слова: программа, организация производственного процесса, емкость склада, моделирование, автоматизированное проектирование. Развитие отечественной технологической среды неразрывно связано с производством конкурентоспособной продукции. В решении этой актуальной задачи главная роль отводится созданию высокопроизводительных систем, основанных на новейших технологиях [1]. Современная концепция гибкого производственного комплекса предполагает наличие на производственном участке станков с ЧПУ, автоматизированных складов-накопителей, транспортных систем, погрузочно-разгрузочных устройств, устройств хранения и доставки инструмента, агрегатов, автоматизирующих контроль и управление производством. Работу производственных участков организуют АРМ, которые обеспечивают автоматическую регистрацию движения материальных потоков по производственным участкам, а также учет запасов на складе. Такие производства должны иметь высокий уровень автоматизации всех составляющих элементов с коэффициентом использования станков до 0,98. Для этого требуется обеспечить эффективную загрузку оборудования на каждом участке, взаимодействие с другими участками, комплектующими и смежными службами, управляющим персоналом и плановыми органами [2]. Создание производств базируется на реконструкции и техническом перевооружении действующих и проектировании новых предприятий [1]. Одним из важных этапов создания или модернизации производственных систем является расчет емкости автоматического склада продукции. Такой расчет на ранних стадиях проектирования используется для определения размеров склада и компоновки при разработке вариантов планировки участка. Бесперебойная работа станков в течение планируемого цикла их автономной работы обеспечивается правильным расчетом емкости автоматизированного склада гибких производственных систем (ГПС), который служит для хранения запаса паллет с заготовками. Ошибки расчета могут привести к созданию склада с недостаточной или избыточной емкостью. Нехватка позиций на складе ведет к простоям оборудования из-за отсутствия заготовок, избыточная емкость склада – к неоправданному росту затрат на его создание и эксплуатацию. Условная стоимость одной позиции такого склада вместе с паллетой и установочнозажимным приспособлением составляет около $ 800 [3]. Идет постоянное усложнение объектов проектирования, что обусловливает появление новых направлений и видов проектных работ. Процесс проектирования представляет собой сложную динамическую систему, объединяющую специали- зированные подразделения инженерно-технических работников различных специальностей и опирающуюся на результаты работы НИИ, КБ, промышленных предприятий различного профиля и строительных организаций. Актуальной проблемой машиностроения является автоматизация многономенклатурного производства, так как в разные смены изготавливаются детали с различным временем обработки. Следовательно, число паллет с заготовками изменяется от смены к смене. Процесс расчета емкости автоматического склада длительный и трудоемкий из-за необходимости выполнения большого количества вычислений. Гибкость технологии определяется способностью производства выпускать продукцию нескольких видов с минимальной переналадкой оборудования или вовсе без таковой. Расчет емкости автоматического склада может рассматриваться как решение задачи упаковки рюкзака, которую в расширенной формулировке возможно описать следующим образом. Существует набор предметов М наименований и L параметров, описывающих характеристики предметов. Характеристики предметов задаются вектором А[i] , определяющим значения каждого параметра предмета: A[i] = [ai1 , ai2 , ..., aiL ] , где i∈{1, 2, …, M}. Количество предметов каждого наименования N[i] может быть любым целым числом в интервале N [i] Î {0, 1, ..., M max } , где Mmax – максимальное число одинаковых предметов. При заданном диапазоне ограничений пара метров рюкзака Smin = {Smin [1], Smin [2], ..., Smin [ L]} и Smax = {Smax [1], Smax [2], ..., Smax [ L]} требуется найти варианты укладки, удовлетворяющие положенным ограничениям. В математической постановке условия возможности укладки данной комбинации предметов следующие: m ì ï S min [1] £ å a1m N m £ S max [1], ï i =1 ï m ïï S [2] £ a N £ S [2], å min 2m m max (1) í i =1 ï ... ï ï m ïS [ L] £ a N £ S [ L]. å min Lm m max ïî i =1 При выполнении условия (1) для k-й комбинации количество предметов в рюкзаке NΣ[k ] состаm вит N Σ [k ] = å N [i ] (см. [4]). i =1 83 Программные продукты и системы Для расчета емкости (числа позиций) склада, гарантирующей размещение любого варианта сменного задания, используется формула F ´C p N max = min , (2) tшт где F – время цикла безлюдной работы ГПС; Cр – min принятое число станков на участке; tшт ∈{t[1], t[2], …, t[L]} – минимальное время обработки заготовки из производственной программы ГПС. Склад с числом позиций, рассчитанных по данной формуле, скорее всего, не будет полностью использоваться, его создание потребует необоснованных капиталовложений. На практике обычно проектируют склад с учетом вероятности риска нехватки позиций для размещения любого варианта сменного задания. Планируемый учет риска нехватки позиций позволяет сэкономить средства на создание склада. В этом случае его емкость выступает как ограничение при формировании вариантов сменных заданий на этапе оперативно-календарного планирования ГПС. Таким образом, необходима взаимная begin увязка проектных и эксn, max, плуатационных решений massa[i], ГПС. i=1,2,...n В проектных расчеKernel[i]=0, тах вероятность риска i=1,2,…n устанавливается на уровне 3–5 %. Это поPast_Var зволяет уменьшить емкость склада NPX на 10– t=1 15 % от максимальной. kol=0 На рисунке 1 представA лена диаграмма вероятности распределения ваB риантов сменных заданий [3]. ProverНа языке Delphi авka= −1 торами был разработан + программный модуль Inc(kernel[t]) (ПМ) упаковки рюкзака, основанный на методе верхней границы. АлгоProverритм метода показан на − ka=0 рисунке 2. В данной программе − для сокращения поиска вариантов сменных заданий используется эвDec(kernel[t]) ристический алгоритм, позволяющий отобрать возможные варианты за приемлемое время. Эвристические алгоC ритмы широко применяются для решения за84 № 2, 2012 г. PjΣ NPX NMAX Рис. 1 дач высокой вычислительной сложности (задачи, принадлежащие классу NP), то есть вместо полного перебора вариантов, занимающего существенное время, а иногда технически невозможного, применяется значительно более быстрый алгоритм, основанный на использовании эвристики. Эвристикой называют эвристический алгоритм, представляющий совокупность приемов в поиске решения задачи, которые позволяют ограничить перебор. C inc(t) B − t>n + t=n Kernel[t]=0 and t>0 − + t=n − t=n Proverka=0 + + Konec New= =True + A Inc(kol) Save (Kernel) Рис. 2 Flag_end =True end − Программные продукты и системы В данном алгоритме: n – число наименований предметов; i – переменная счетчика; massa[i] – массив весов предметов; kernel[i] – массив счетчиков количества предметов; t – переменная счетчика предметов; kol – число предметов; proverka – переменная проверки решения; new – переменная определения новизны решения; save – переменная сохранения решения; flag_end – переменная флага окончания алгоритма; past_var – функция обнуления данных; konec – функция очистки динамической памяти. Данный ПМ позволяет осуществлять имитационное моделирование, которое включает два основных процесса – конструирование модели реальной системы и постановку экспериментов на ней. При этом могут преследоваться такие цели, как оценка характеристик системы и выбор стратегии, обеспечивающей наиболее эффективное функционирование логистической системы, исследование узких мест будущей системы. Исходными данными для ПМ являются вес рюкзака, его стоимость, число наименований предметов и максимальное количество предметов, вес и стоимость каждого предмета рюкзака. Также существует возможность дополнительно добавлять нужные пользователю параметры и их значения. Выходными данными этой программы являются варианты сменных заданий и статистическая обработка данных. ПМ имеет иерархическую модульную структуру, входящие в ее состав модули реализуют следующие функциональные задачи: формирование вариантов сменных заданий (obrabotka), организация выборки сменных заданий (viborka), сортировка вариантов укладки (sortirovka), организация статистической обработки результатов (statistika). ПМ формирует три вида отчетов: по вариантам сменных заданий, по результатам фильтрации данных и по результатам сортировки вариантов сменных заданий. Критерием для оценки при выборе оптимального варианта сменного задания принимается указанный диапазон веса рюкзака (минимум мощности грузового или материального потока). Рассмотрим этапы обработки данных программы упаковки для нескольких параметров и ограничений методом верхней границы: – выявляются возможные варианты сменных заданий; – выполняется статистическая обработка выбранных сменных заданий; – по результатам статистической обработки строятся практические диаграммы вероятности распределения вариантов сменных заданий и распределения, а также кривая накопленной вероятности. Главное окно программы представлено на рисунке 3. № 2, 2012 г. Возможен выбор условия формирования вариантов сменных заданий, задаваемого на отдельной экранной форме. Окно выборки вариантов сменных заданий показано на рисунке 4, где задаются параметры для отбора значений и соответствующие условия отбора. Существует возможность сортировки вариантов укладки рюкзака по заданным полям, фильтрация по выбранным пользователем параметрам отбора данных. Рис. 3 Рис. 4 К основным результатам работы модуля statistika относятся построение диаграммы вероятности распределения числа предметов, диаграмма недогрузки рюкзака, кривая накопленной вероятности. Окно статистики вариантов сменных заданий приведено на рисунке 5, на первой диаграмме отображены вероятности распределения вариантов сменных заданий, на второй – вероятности распределения и кривая накопленной вероятности. Этапы статистической обработки выбранных вариантов укладки: – варианты сменных заданий разбиваются на интервалы шириной в 1 % недогрузки; – рассчитывается количество вариантов сменных заданий, число предметов в которых попало в каждый интервал (число попаданий); – рассчитывается вероятность попадания для каждого интервала; 85 Программные продукты и системы № 2, 2012 г. ванных участков, а также при реструктуризации, техническом перевооружении или реконструкции существующего производства, при изменении номенклатуры изделий, обеспечивая тем самым планировочную гибкость производства. ПК упаковки рюкзака для верхней границы позволяет повысить оперативность решения задачи, уменьшить трудоемкость работы по подбору возможных вариантов упаковки и их статистической обработки. Литература Рис. 5 – рассчитывается накопленная вероятность для каждого интервала. Предложенный ПМ может использоваться организациями-проектировщиками и технологическими отделами машиностроительных предприятий для проектирования гибких автоматизиро- 1. Проектирование автоматизированных участков и цехов: учеб. для машиностроит. спец. вузов / Е.Р. Ковальчук [и др.]; под ред. Ю.М. Соломенцева. М.: Высш. шк., 2003. 272 с. 2. Попов П.М. Оптимизация технических решений проектирования и управления на основе экономико-математических методов анализа: монография. Ульяновск: УлГТУ, 2000. 154 с. 3. Закономерности формирования производительности гибких производственных ячеек: монография / А.И. Сердюк [и др.]. Оренбург: Изд-во ОГУ, 2008. 188 с. 4. Левитин А. Алгоритмы. Введение в разработку и анализ; [пер. с англ. С.Г. Тригуб]. К.: Изд-во «Вильямс», 2006. 576 с. 5. Сердюк А.И., Елагин В.В. Расчет автоматизированных систем инструментального обеспечения ГПС // Станки и инструмент. 1990. № 9. С. 2–6. УДК 007:004.021 ОРГАНИЗАЦИЯ ЭФФЕКТИВНЫХ ВЫЧИСЛЕНИЙ ДЛЯ РАСЧЕТА ЭЛЕКТРОННОЙ СТРУКТУРЫ БОЛЬШИХ МОЛЕКУЛ (Работа выполнена при финансовой поддержке РФФИ, проект № 07-11-00470) О.Ю. Шамаева, к.т.н. (Национальный исследовательский университет «МЭИ», shamayevaOY@mpei.ru); А.М. Чернецов (Вычислительный центр им. А.А. Дородницына РАН, an@ccas.ru) Представлены параллельный алгоритм расчета электронной структуры молекул, разработанный на основе метода Пальцера–Манолополиса, и его реализация в рамках вычислительной модели передачи сообщений для плотных и разреженных структур данных. Приводятся оценки трудоемкости алгоритма. Ключевые слова: электронная структура молекул, диагонализация матриц, прямые методы, метод очистки, MPI, разреженная матрица блочно-трехдиагональной структуры. Расчеты электронной структуры гигантских молекул являются одними из самых сложных в современной науке и требуют использования высокопроизводительных вычислительных архитектур. Например, вычислительный эксперимент по изучению свойств молекулы октана C8H18 (размер базиса 1 468) на кластере HP, содержащем 1 400 процессоров Itanium 2, потребовал более 23 часов работы. При этом загрузка процессоров составила 75 %, а средняя производительность системы – 6,3 Tflops [1]. Расчеты электронной структуры, в частности, биомолекул (белков, ДНК) и наноча86 стиц, актуальны для химии, биохимии, физики конденсированного состояния вещества и других областей науки. В практическом плане эти расчеты важны для фармакологии, нанотехнологий, исследований явлений сверхпроводимости, разработки квантовых компьютеров. По мнению специалистов компании Intel, компьютер, способный проводить квантово-химические расчеты любой сложности, должен иметь производительность не менее 1 Zettaflops (1021 flops), что значительно превышает потребности в вычислительных ресурсах для таких сложных задач, как Программные продукты и системы аэродинамические расчеты и расчеты в космологии. По прогнозам, такая мощность будет достигнута не ранее 2030 года [2]. Математическая постановка задачи Большинство теорий для определения состояния многоэлектронной системы, имеющей минимальный уровень полной энергии, используют концепцию эффективного одноэлектронного гамильтониана (фокиана), который представляется в 1 виде H = - Ñ2 + v(r ) , где v – оператор потенци2 альной энергии; ▽2– оператор Лапласа; r – радиусвектор. При этом возникает задача на собственные значения: HΨi=εi Ψi, где i нумерует собственные значения и соответствующие собственные векторы. Таким образом, задача сводится к обработке матрицы размерности N, где N – размерность задачи, пропорциональная числу атомов. Основными методами расчетов электронной структуры молекул являются неэмпирические и полуэмпирические методы квантовой химии [3]. Неэмпирические методы имеют сложность расчета от O(N5) до O(N!), а требования к памяти от O(N3). Для расчета больших молекулярных систем, которые могут содержать от 103 до 107 атомов, целесообразно применение полуэмпирических методов квантовой химии в так называемом приближении нулевого дифференциального перекрывания [3], в общем случае имеющих асимптотическую сложность расчета O(N3). Центральным звеном при расчете молекулярных систем является решение симметричной задачи на собственные значения методом матричной диагонализации. Для расчета физико-химических свойств нужны не сами собственные векторы, а матрица плотности P, являющаяся функцией от них. При нахождении матрицы плотности P начальное приближение матрицы формируется из исходного фокиана F. Фокиан, в свою очередь, строится по определенным правилам на основе декартовых координат атомов, входящих в молекулу [3, 4]. Сложность расчета фокиана для плотных матриц составляет O(N2). Методы расчета Другой путь нахождения P, альтернативный решению задачи на собственные значения, – прямое извлечение P из фокиана. Одним из численных методов прямого нахождения матрицы плотности P является метод очистки (purification method) [5], разработанный еще в 1960 г. Однако в силу отсутствия в то время необходимых вычислительных ресурсов его применение было ограни- № 2, 2012 г. чено расчетом только небольших молекул. В 90-х годах ХХ века на основе этого метода разработаны различные модификации, позволяющие ускорить процесс вычислений. Общая идея использования метода очистки для построения матрицы плотности основывается на итерационном разложении фокиана по непрерывно возрастающему полиному P(x), x ∈[0, 1] с зафиксированным экстремумом между 0 и 1, то есть P(0)=0, P(1)=1 и P′(0)=P′(1)=0. Можно показать, что вложенная последовательность таких многочленов сходится к ступенчатой функции со ступенькой где-то на [0, 1]. В одной из современных модификаций – методе Пальцера–Манолополиса [5] – итерационная формула для нахождения матрицы плотности P выглядит следующим образом: 1 1 (1 - 2cn )× Pn + (1 + cn )× Pn2 - Pn3 , cn £ 1 - cn 2 Pn+1 = 1 1 (1 + cn ) × Pn2 - Pn3 , cn > (1) cn 2 ( ( ) ) tr ( Pn2 - Pn3 ) , tr ( Pn - Pn2 ) где n – номер шага итерационного процесса; P – матрица плотности; tr – след матрицы; cn – коэффициент. Процесс вычислений останавливается при достижении заданной точности по идемпотентности: cn = tr ( P 2 ) - tr ( P ) £e. tr ( P ) (2) Из анализа выражения (1) следует, что основной вклад в вычислительную трудоемкость вносят матричные операции. Для нахождения матрицы плотности P необходимо определить начальное приближение P0, например, как фокиан, нормализованный таким образом, что все его собственные значения Ei лежат на отрезке [-1, 1], то есть E + Emin E - Emin F -E P0 = , E = max , DE = max . DE 2 2 В связи со значительной вычислительной сложностью задачи расчета больших молекулярных систем одним из путей ускорения расчетов является построение эффективных алгоритмов и программ с использованием технологии параллельных вычислений. На рисунке 1 приведена структурная схема параллельного алгоритма расчета по методу Пальцера–Манолополиса, разработанная в рамках модели распределенных вычислений, которая представляет вычисления в виде совокупности взаимодействующих, последовательно выполняемых процессов. Для организации взаимодействия используются стандартные коммуникационные библиотеки, например MPI (Message Passing Interface). 87 Программные продукты и системы № 2, 2012 г. в реальных экспериментах попарные вызовы имеют преимущества по сравнениию с широковещательной рассылкой. Ввод начальных условий Определение блоков для обработки Прием данных Начальная P Прием данных Начальная P Пересчет Emin , Emax Пересчет Emin , Emax Прием данных Начальная P Пересчет Emin , Emax Разреженная структура матрицы плотности Поскольку при построении математической модели достаточно Формирование Em i n , E m a x . Рассылка большого класса молекул возникают массивы данных разреженной структуры, целесообразно испольНормализация Нормализация Нормализация зовать это свойство для повышения эффективности расчетов. Свойство 2 2 2 Расчет l-й части P Расчет 2-й части P Расчет 1-й части P разреженности используется для снижения требований к представ... Расчет l-й части P3 Расчет 1-й части P 3 Расчет 2-й части P 3 лению в памяти данных очень больших размеров и сокращения вычислительной сложности алгоНахождение Нахождение Н ахождение ритмов обработки матриц. tr(P 2 ), tr(P 3 ) tr(P 2 ), tr(P 3 ) tr(P 2 ), tr(P 3 ) Можно показать, что в общем случае матрицы фокиана F и плотности P являются разреженныФормирование полного tr(P 2 ), tr(P 3 ) ми [5]. Рассмотрим разреженность матрицы блочно-трехдиагональноПроверка у словия идемпотентнос ти го вида, которая соответствует описанию достаточно большого класса молекул, а именно полимеНахождение Нахождение Нахождение ... ров и линейных несвернутых прокоэффициента c n коэффициента c n коэффициента c n теинов. Представим блочно-трехдиагональную матрицу: Формирование коэффициента c n é A1 A3 0 ... 0 ù ê ú êA2 A1 A3 ... ... ú ê ú A = ê 0 A2 A1 ... ... ú Получение Получение Получение ê ú 2-й части P n+1 1-й части Pn+1 l-й части Pn+1 ê 0 ... ... ... A3ú ê ú ê 0 ... ... A2 A1ûú N´N ë Рис. 1 где A1i, A2i, A3i – матричные, в общем случае плотно заполненные, Главный процесс рассылает матрицу исходноблоки размерности mi; nbl – число блоков главной го фокиана F, затем оценивает минимальное и диагонали; A1i (i=1, nbl) – матрицы блоков главмаксимальное собственные значения матрицы. ной диагонали; A2i и A3i (i=1, nbl-1) – соответстДалее все процессы выполняют параллельную венно матрицы блоков нижней поддиагонали и нормализацию фокиана. Для параллельной реаливерхней наддиагонали. Количество блоков nbl зации целесообразно применить блочное умножеможет быть ограничено только доступными рение матриц, а также провести расчеты этих блоков сурсами памяти. Максимальная размерность мелв разных процессах параллельно. В целом паралких блоков m=max{mi} (размер m определяется лельный алгоритм реализован на языке Fortran-90 исходя из квантово-химических свойств молекус использованием средств MPI (Message Passing лярной системы). Interface), а умножение блоков производится с Для эффективной реализации метода Пальцепомощью вызова подпрограммы DGEMM из мара–Манолополиса в случае представления матритематических библиотек, реализующих стандарт цы фокиана в форме блочно-трехдиагонального BLAS (Basic Linear Algebra Subroutines). вида необходимо организовать эффективное выПри реализации параллельного алгоритма с полнение операций сложения, умножения на чисиспользованием функций MPI возможны два вало и умножения матриц. рианта рассылки данных – широковещательная При умножении двух блочно-трехдиагональрассылка или попарные вызовы «точка-точка». ных матриц A и B в матрице результата R появляКак показывают проведенные исследования [4, 6], 88 Программные продукты и системы № 2, 2012 г. ется четвертая ненулевая блочная диагональ, значениями которой можно пренебречь с точки зрения анализа (расчетов) электронной структуры молекул. Таким образом, матрица R представляется в форме блочно-трехдиагональной. Для представления всех трех матриц A, B, R предлагается специальная схема хранения в виде трехмерных массивов. Тогда элементы матриц имеют три индекса (например Aijk), где первые два соответствуют положению элемента внутри блока, а последний – позиции блока в соответствующей диагонали. В результате получим факторизованные выражения для блоков матрицы R: R1i = A2i -1 * B 2i -1 + A1i * B1i + A2i * B 2i , R2i = A2i * B1i + A1i +1 * B 2i +1 , (3) R3i = A1i * B2i + A2i +1 * B1i +1 , где Аij, Bij – блочные матрицы i-х диагоналей исходных матриц A и B, j – позиция блока в диагонали; Rij – блоки результирующей матрицы. Если учесть, что матрица фокиана F является симметричной и блоки на главной диагонали квадратные, то можно сэкономить память на хранении массивов блоков верхней наддиагонали и после упрощений получить выражения для R: R1i = A2i -1 * B2i -1T + A1i * B1i + A2iT * B2i , R2i = A2i * B1i + A1i +1 * B 2i +1. Факторизованные выражения для первых (R11 и R21) и последних (R1nbl и R2nbl-1) блоков можно получить из общей формулы (3). Вычислительная сложность параллельной обработки разреженных матриц может быть уменьшена за счет оптимального варианта организации обмена блоками. В отличие от реализации метода для плотных матриц нет необходимости рассылать в качестве начальных данных матрицу целиком. Теперь каждый процесс получает только те блоки матриц, которые необходимы для расчетов. По завершении вычислений происходит сбор всех результатов в главном процессе. Следовательно, можно выполнять множество распределенных расчетов. Вопервых, это расчет следа матрицы. Каждый процесс считает только свою часть, а затем главный процесс собирает результаты. Во-вторых, все линейные операции, такие как расчет коэффициентов cn и преобразования матрицы P по формуле (1), можно также вести распределенно. Это позволяет в отдельно взятом процессе выполнять действия по умножению матриц только над теми блоками, которые назначены процессу. Процесс вычислений повторяется итерационно до достижения заданной точности матрицы плотности, определяемой выражением (2). На рисунке 2 представлена схема организации обменов между процессами по типу «точка-точка» (MPI_Send/MPI_Recv) некрайними блоками. Рис. 2 Взаимодействие между различными процессами минимально: большая часть вычислений происходит независимо, а данные от других процессов требуются только для пограничных блоков. Более того, на каждой заданной итерации возможно заранее сделать все необходимые пересылки данных и уже затем производить умножение блоков. Для произвольного некрайнего блока в k-м процессе следует получить блок A1 из процесса (k+1) и послать ему блок A2, а также отправить блок A1 из процесса k в процесс (k-1) и получить блок A2 из процесса (k-1). Использование описанных выше схем хранения и организации пересылок в параллельной программе повысило эффективность расчетов и увеличило допустимую размерность решаемой задачи. Так, при обработке плотных матриц в системе с объемом памяти 2 Гб максимальная размерность задачи составляет не более 8 500, а для разреженных матриц – до 150 000 [6]. Оценка трудоемкости параллельной модификации алгоритма с учетом разреженности матриц Оценим вычислительную сложность реализованных параллельных алгоритмов на множестве вычислителей p при следующих предположениях, которые могут быть получены из формулы (3) для Pn+1. Пусть дана вероятность того, что коэффициент cn≤½ и cn>½-P{cn≤½}=q, P{cn>½}=1-q; u – время аддитивной операции; v – время мультипликативной операции. Так как вычисления распределяются в среднем между вычислителями равномерно, то без ограничения общности положим, что каждый вычислитель обрабатывает одинаковое число блоков. В модели распределенной памяти необходимо учитывать время передач между вычислителями, поэтому введем функцию Fswap(x), которая обозначает взаимную передачу x байтов от одного процесса к другому в случае попарного вызова MPI_Send/MPI_Recv. 89 Программные продукты и системы Тогда ускорение S(p) и эффективность Q(p) на p вычислителях оцениваются [5] как S ( p) = (q × nbl × m2 ×[4 ×u + m × nbl × v] + +(1 - q) × nbl × m 2 ×[8× u + 10 × m × v]) / 1 /( × nbl × m 2 ×[8× u + 5× m × v] + p 1 + × (1 - q) × nbl × m 2 ×[8× u + 10 × m × v] + p +3× u × m 2 × p + 3× Fswap (m2 ×8) × p), S ( p) . p На рисунке 3 приведен график зависимости ускорения от числа процессоров p при использоQ ( p) = Рис. 3 вании разреженности для всевозможных размерностей задачи и значений размерности мелкого блока m. В качестве скорости передачи для функции Fswap(x) взята производительность коммуни- № 2, 2012 г. кационной технологии межсоединения узлов Myrinet 2000 для сообщений подобного размера – 230 Мбайт/с. Таким образом, использование свойств разреженности в сочетании с параллельной модификацией метода Пальцера–Манолополиса позволило существенно увеличить размерность решаемых задач, резко повысило скорость расчетов. Теоретические оценки трудоемкости соответствуют ранее полученным экспериментальным данным [4, 6] и позволяют давать прогнозы о достигаемых значениях ускорения и эффективности на конкретной вычислительной системе. Литература 1. Pollack B.L., Windus T.L., W.A. de Jong, Dixon D.A. Thermodynamic Properties of the C5, C6, and C8 n-Alkanes from AB Initio Electronic Structure Theory // J. Phys. Chem., 2005, Vol. 109. № 31. 2. Pawlowski S. Petascale Computing Research ChallengesA Manycore Perspective, 13th International Symposium on HighPerformance Computer Architecture, 2007. URL: http://www2. engr.arizona.edu/~hpca/slides/2007_HPCA_Pawlowski.pdf (дата обращения: 19.09.2011). 3. Степанов Н.Ф. Квантовая механика и квантовая химия. М.: Мир, 2001. 518 с. 4. Чернецов А.М., Шамаева О.Ю. О параллельной реализации алгоритмов расчета электронной структуры больших молекул // Вестн. МЭИ. 2009. № 3. С. 67–71. 5. Niklasson A.M.N., Tymczak C.J., Challacombe M. Trace resetting density matrix purification in O(N) self-consistent-field theory // J. Chem. Phys., 2003. Vol. 118. № 15. 6. Chernetsov A., Shamayeva O. Problems of Parallel Realization of Algorithms of Electronic Structure of Large Molecules //Proceedings of International Conference on Dependability of Computer Systems Depcos-RELCOMEX // IEEE Computer Society. Szklarska Poreba, Poland, 2008. 26–28 June, pp. 324–331. УДК 656.13:681.3 ВЫБОР И РАСПРЕДЕЛЕНИЕ АВТОТРАНСПОРТНЫХ СРЕДСТВ В ЖИЗНЕННОМ ЦИКЛЕ АВТОТРАНСПОРТНОГО ПРЕДПРИЯТИЯ Н.Ю. Федоров; О.Н. Черкасов, д.т.н.; Е.А. Аникеев, к.т.н. (Воронежская государственная лесотехническая академия, nyfedorov@gmail.com, oncherkasov@gmail.com, eanikeev@gmail.com) Рассмотрена модель выбора и распределения автотранспортных средств на основе принципа иерархического моделирования для реализации различных технологических операций автотранспортного предприятия. Ключевые слова: управление, модель, автомобильный транспорт, технологические операции, автотранспортное предприятие. Выбор и распределение автотранспортных средств по технологическим операциям (ТО) автотранспортного предприятия (АТП) обусловлены множеством целей. Возникающие при этом трудности определяются не столько количеством, 90 сколько особенностями формулирования каждой из них. При этом ЛПР может формулировать цели в произвольной форме, что препятствует решению проблемы многоцелевой оптимизации в чистом виде, так как в этом случае достаточно трудно Программные продукты и системы № 2, 2012 г. формировать множество конфликтующих вариантов решения из-за невозможности соизмерения степени достижения различных целей. Обычно подобные задачи сводятся к задачам векторной оптимизации, причем нередко для описания одной цели используется несколько критериев эффективности системы и между данной целью и ними наблюдается сложное взаимодействие. Сформирована общая модель выбора и распределения автотранспортных средств, обеспечивающая жизненный цикл (ЖЦ) ТО АТП. Если не учитывать технологический характер исследуемых объектов, то такая модель может быть записана в следующем виде [1]: Q (d ) ® q1 (x) , ..., qs ( x) ® Opt , ( ) Ф : f k (d ) £ 0, k = 1, K , d = d ij (1) (i = 1, n, 1, m) , где Q(d) – вектор частных критериев качества; d – матрица, каждый элемент которой характеризует распределенное количество выбранного j-го вида АТС на i-ю ТО АТП; Ф – область допустимых решений. В такой постановке модель (1) не позволяет осуществлять анализ функционирования системы. Для устранения этого недостатка в ней выделены два уровня, обеспечивающие ЖЦ управления АТП. Проведена декомпозиция модели, выделены две частные модели: синтеза (2) и функционирования АТП (3), посредством реализации которых будет формироваться область допустимых решений: д é c ù q = êq (d ), q (d , z ) ú ¾¾¾¾¾¾¾¾ ® Opt , ë û d , zÎФ Ф = Фс È Фд и Ф с Ç Ф д = Æ ; c c é c ù q (d ) = êq1 (d ), ..., q s1 (d ) ú ¾¾¾¾¾¾¾® Opt , c ë û d ÎФ Фс : f kc1 (d ) £ 0, fkc1 (d ) Î F c , k1 = 1, K1 , K1 K1 k1 =1 k1 =1 Фс = ∪ Фkс1 ; ∩ Фkс1 ¹ 0 ; д é д q (d , z ) = êq1 (d , z ), ..., q ë д s2 (2) ù (d , z ) ú ¾¾¾¾¾¾¾ д ® Opt , û zÎФ Фд : fkд2 (d , z ) £ 0, fkд2 (d , z ) Î F д , k2 = 1, K 2 , (3) K2 K2 k2 =1 k 2 =1 d = const, d Î Фс ; Фд = ∪ Фkд2 ; ∩ Фkд2 ¹ 0 . Введенные здесь индексы «с» и «д» характеризуют принадлежность того или иного параметра к модели оптимизации соответствующего уровня. В такой постановке модель (2) соответствует выполнению первого этапа моделируемого процесса, а модель (3) – второму [2, 3]. Основное отличие данных моделей заключается в особенностях формирования соответствующих им множеств решений {d} и {d=const, z}, где z – дополнительные варьируемые параметры, позволяющие ЛПР получить более полные оценки качества функционирования объекта. При этом модель синтеза является как бы вложенной в модель функционирования, то есть динамические состояния системы формируются на этапе ее синтеза. Предлагается из всего множества ограничений {f} и частных критериев качества {q} первоначально выделить параметры, зависящие только от d, а затем параметры, зависящие от d и z. Последовательное решение указанных частных задач приводит к формированию множества решений {d, z}= ={d}∪{d=const, z}. Каждый элемент этого множества учитывает статические и динамические аспекты выбора и распределения автотранспортных средств по ТО на соответствующих этапах, после чего дальнейшая оптимизация заключается в выделении Парето-оптимального множества {d, z}′⊂{d, z}. Предлагается математическая модель, обеспечивающая три уровня решения транспортных задач на этапах синтеза, функционирования и согласованного решения задачи. На основе изложенного выше принципа иерархического моделирования разработаны модели и алгоритмы оптимального выбора и распределения автотранспортных средств для реализации различных ТО АТП. Построение моделей выбора количественного состава и распределения автотранспортных средств по дискретным ТО АТП необходимо проводить на этапе параметрического синтеза транспортной системы, когда ЛПР нужно определить типы и количество автотранспортных средств на сформированные ранее ТО. Такие задачи, как правило, решаются для различного рода транспортных систем, которые могут отличаться по сложности технологической структуры и по степени гибкости ее компонентов (множество типов и взаимозаменяемость автотранспортных средств, возможность изменения их маршрутов и т.д.). Главной особенностью решения задачи выбора количественного состава и распределения является то, что элементы искомой матрицы d=dij i = 1, n, 1, m могут принимать только целые по- ( ) ложительные значения, а это существенно ограничивает возможности ЛПР в выборе метода оптимизации. Данная задача на этапе синтеза была сформулирована в виде векторной задачи целочисленного выпуклого программирования. Алгоритмы ее решения основаны на предложенной модификации метода нормирующих функций: на каждом его шаге рассматриваются не все ТО, а только те из них, которые составляют критический путь. 91 Программные продукты и системы Модель функционирования АТП соответствовала векторной задаче оптимизации и записана в виде модели (3). Разработан алгоритм имитационного моделирования, отличающийся от известных отслеживанием реального времени по мере поступления тех или иных событий и учетом двух аспектов: независимости ТО относительно использования в них автотранспортных средств и связанности (синхронизации) ТО по времени их выполнения. Разработаны способы задания приоритетов ТО и правила предпочтения ЛПР, варьирование которыми в совокупности с известными в теории расписаний видами диспетчеризаций позволило получить до 30 различных алгоритмов составления расписаний работы автотранспортных средств. Основу информационного обеспечения на этапе согласования решений частных моделей выбора количественного состава и распределения составляет БЗ, структурно разделенная на БД и блок принятия решений. БД предназначена для накопления полученных ранее результатов, тем самым формируется множество допустимых решений задачи, из которых строится Парето-оптимальное множество. Специфика состояла в том, что одному решению задачи на этапе синтеза соответствовало несколько ее решений на этапе функционирования АТП. Блок принятия решений содержит формализованные правила выбора наилучшего варианта распределения автотранспортных средств по ТО на основе построенной функции полезности, указывающей вес каждого критерия. Построение моделей выбора и распределения автотранспортных средств по непрерывным ТО АТП проводилось для транспортных задач поставки скоропортящегося сырья на перерабатывающие предприятия. Она включает две задачи – календарного и оперативного (на каждые сутки) планирования и управления работой автотранспортных средств по доставке сырья. Объектом исследования в данном случае является сложная иерархическая трехуровневая структура: поставщики сырья–АТП–перерабатывающее предприятие. Участники процесса преследуют противоречивые цели с нечеткой формой их выражения, что привело к необходимости последовательного решения каждой задачи, характеризующейся цикличностью процедур. В ходе решения уточняются и согласуются интересы участников процесса до тех пор, пока не будет получен приемлемый вариант. На этапе синтеза решались вопросы, связанные с установлением баланса между спросом и предложением необходимых автотранспортных средств. Для решения задачи разработана модель векторной оптимизации, в которой конфликтность интересов элементов системы выражена через ограничения модели. Разработан алгоритм на основе метода покоординатного спуска, отличающийся 92 № 2, 2012 г. от известных способами модификации ограничений модели в зависимости от ситуации и их последовательной реализации. Результатом рассматриваемой задачи на этапе функционирования явилось составление графика оперативной поставки в интервале времени [τk-1, τk] скоропортящегося сырья на перерабатывающее предприятие, которое связано с решением транспортной задачи на этапе синтеза системы. Поэтому модель оптимизации представлена в виде выражения (3). Разработанный алгоритм имитационного моделирования отличается от известных возможностью построения сетевых графиков групп ТО АТП. Наличие множества альтернативных вариантов использования автотранспортных средств, условий их эксплуатации, маршрутов перевозки и прочего приводит к необходимости решения задачи выбора и распределения автотранспортных средств на этих множествах. Для ее решения была разработана модель оптимизации оперативного планирования и управления. Введены три типа переменных, подлежащих определению, – один дискретный и два набора непрерывных. Построенная модель является достаточно сложной для точного решения. Для этого на основе предложенной модели проведена декомпозиция задачи и разработан алгоритм, основанный на методах дискретного и линейного программирования, имитационного моделирования и случайного поиска [3, 4]. Рассмотренный подход к решению задачи выбора количественного состава и распределения был реализован в виде прикладного программного пакета FLEX, который позволяет решать ресурсные задачи для широкой гаммы ТО АТП, характеризующихся различной степенью гибкости. При этом он ориентирован прежде всего на моделирование ТО АТП, имеющих сложную сетевую структуру, элементы которой состоят из совокупности групп ТО, транспортной системы и обслуживающего персонала. Реализация пакета была проведена с использованием специализированной среды разработки Power Builder 11.5. Он может функционировать как единая система. Кроме того, его подсистемы могут работать и самостоятельно. Данный пакет характеризуется модульностью и масштабируемостью. Программный пакет FLEX построен по иерархическому принципу и включает в себя пять основных подсистем: ZFS – обработка файлов данных; ZAP – расчет запусков автотранспортных средств на ТО; RES – распределение запусков автотранспортных средств на ТО; OPT – оптимизация функционирования единиц автотранспортных средств; DEC – выбор лучшего варианта решения задачи. Программный пакет структурно ориентирован на предложенную выше общую оптимизационную Программные продукты и системы модель (2), (3) решения транспортной задачи. При этом его подсистемы находятся в полном соответствии с этапами указанной модели. Подсистема ZFS позволяет формировать и корректировать нормативно-справочную информацию: параметры объекта перевозки (в целом), участки, ТО, грузы, типы автотранспортных средств, основные и вспомогательные материалы. Указанные элементы, а также их атрибуты идентифицируются в следующей последовательности: – общие характеристики объекта перевозки; – участки, связи между участками (при этом формируются отношения типа «участок слева– участок справа»); – ТО каждого участка, грузы, перевозимые на каждой ТО; – маршруты выполнения ТО для отдельного груза каждого участка, параметры используемых типов автотранспортных средств; – характеристики основных и вспомогательных материалов; – связи между грузами разных ТО; – время, а также стоимость транспортных услуг с перевозкой одного вида груза для конкретного типа автотранспортных средств; – характеристики автотранспортных средств, связанные с перевозкой каждого вида груза. Подсистема ZAP предназначена для расчета планов запуска автотранспортных средств на каждую ТО, рассматриваемых здесь как оперативновходная информация задачи выбора количественного состава и распределения. Основой для проведения этих расчетов служат планы реализации ТО из номенклатуры последнего (по ходу маршрута автотранспортных средств) участка, а также коэффициенты связи для каждой пары «ТО– автотранспортное средство» отдельного участка. При этом все расчеты организуются таким образом, чтобы вначале рассматривался последний участок, затем участок, связанный слева только с первым (таких участков может быть несколько), далее участки, связанные слева только с уже выбранными участками, и т.д., пока не будут рассмотрены все планируемые участки перевозки груза. Подсистема RES выполняет распределение единиц однотипного автотранспортного средства на все ТО проектируемой транспортной системы. Для реализации данного процесса используется разработанный модифицированный метод нормирующих функций [2]. В качестве критерия оптимизации при этом используется минимум времени чистого выполнения всех ТО без учета временных затрат, связанных с простоями и переналадками автотранспортных средств, то есть статические составляющие времен выполнения ТО. В качестве ограничений может быть задействована, напри- № 2, 2012 г. мер, суммарная стоимость перевозки грузов на всех ТО и т.п. Подсистема ОРТ предназначена для расчета критериев динамической оптимизации, используемых для получения оценок качества функционирования автотранспортных средств [2]. В качестве таких критериев использованы минимумы затрат, связанных с перевозками грузов, производственного цикла ТО, а также времени переналадок автотранспортных средств и его простоев. В затраты на перевозки входит динамическая составляющая – стоимость переналадок автотранспортных средств, зависящая от очередности перевозимых грузов на ТО. В работе данной подсистемы использован переборный алгоритм для формирования множества допустимых решений задачи, когда в ней варьируется очередность обработки изделий на каждой ТО, а в качестве алгоритма имитационного моделирования применяется одна из диспетчеризаций теории расписаний в совокупности с одним из правил предпочтения (реализующих процесс имитации событийным способом). Поэтому в данной подсистеме заложено ограничение на размер множества допустимых решений. Варьируя способы задания приоритетов, виды диспетчеризаций и правила предпочтений, пользователь может применить до 30 различных алгоритмов составления расписаний работы автотранспортных средств. Подсистема DEC позволяет пользователю выбрать лучший с его точки зрения вариант ресурсного распределения. Для этого в подсистеме формируется множество допустимых решений общей транспортной задачи. На его основе строится Парето-оптимальное множество, из которого затем ЛПР может выбрать лучший вариант. Для этого в подсистеме предусмотрена реализация линейной функции полезности, учитывающей важность каждого критерия. В случае неудовлетворительного результата по качеству полученного пользователем решения он может возвратиться в третью или четвертую подсистему рассматриваемого пакета для проведения дальнейших исследований. Литература 1. Черкасов О.Н., Межов В.Е., Аникеев Е.А. Автотранспортные информационные системы управления: учеб. пособ. для студ. Воронеж: Изд-во Воронеж. гос. ун-та, 2006. 265 с. 2. Математическое и программное обеспечение управления автотранспортными предприятиями: монография / О.Н. Черкасов [и др.]. Воронеж: Изд-во Воронеж. гос. ун-та, 2007. 234 с. 3. Повышение эффективности управления автотранспортом на базе современных информационных технологий / О.Н. Черкасов [и др.] // Информационные технологии моделирования и управления. 2005. № 2 (20). С. 178–184. 4. Черкасов О.Н., Аникеев Е.А. Системы MRP/ERP, CSRP; проблемы их применения и развития в решении задач управления автотранспортными предприятиями // Приводная техника. 2006. № 6 (64). С. 38–43. 93 Программные продукты и системы № 2, 2012 г. УДК 574.6.663.1 АЛГОРИТМЫ ОЦЕНКИ ПОКАЗАТЕЛЕЙ ПРОЦЕССА БИОСИНТЕЗА Ю.Л. Гордеева, к.т.н. (Московский государственный университет пищевых производств, l.s.gordeev@yandex.ru) Рассмотрены алгоритм для определения показателей процесса при заданных значениях концентрации субстрата Sf в поступающем потоке и величины протока D, алгоритм для определения концентрации субстрата Sf из заданной допустимой области при максимальной продуктивности Qp, а также алгоритм для определения величины протока D из заданной допустимой области при максимальной продуктивности. Приведены численные примеры реализации этих алгоритмов. Ключевые слова: биотехнология, информационные системы, алгоритмы расчета. Моделирование процесса непрерывной ферментации [1] и исследование возможности реализации оптимальных условий для процесса с нелинейной кинетикой роста от концентрации субстрата [2–5] показало следующее. Оптимальные условия по продуктивности целевого продукта определяются двумя величинами – концентрацией субстрата в поступающем потоке Sf и величиной протока D (D=Q/V, где Q – объемная скорость подачи субстрата; V – объем заполнения ферментёра). Экстремальный характер зависимости продуктивности (D⋅P) (P – концентрация продукта на выходе из аппарата) предполагает возможность неединственности стационарного режима, при котором одинаковое значение (D⋅P) может быть обеспечено различными значениями Sf и D. Это приводит к необходимости оценки показателей процесса при различных вариантах заданных условий его проведения. Приведем разработанные алгоритмы оценки показателей процесса для следующих условий. 1. Заданы численные значения Sf и D. Необходимо оценить S, X, P и Qp=D⋅P. 2. Заданы допустимая область для Sf : Sfmin<Sf< <Sfmax и величина протока D. Необходимо оценить показатели процесса S, X, P и Sf при максимальном значении продуктивности и найти значение максимальной продуктивности Qp. 3. Заданы допустимая область для D: Dmin<D<Dmax и концентрация субстрата в поступающем потоке Sf. Необходимо оценить показатели процесса S, X, P и D при максимальном значении продуктивности и найти значение максимальной продуктивности Qp. Особенности алгоритмов заключаются в том, что при некоторых численных значениях параметров кинетического соотношения, заданных значениях величины протока D и концентрации субстрата в поступающем потоке Sf требуется оценивать возможность реализации непрерывного процесса. Это означает, что при некоторых численных значениях D и Sf реализация непрерывного процесса невозможна и эти значения должны быть скорректированы. Последнее требует формулировки корректирующих соотношений и, как след94 ствие, включения в соответствующий алгоритм диалоговой составляющей. При разработке каждого алгоритма указанные ограничения и корректирующие рекомендации включены в общую блоксхему реализации расчета показателей процесса соответствующей постановки задачи. Разработка алгоритмов оценивания Алгоритм 1. Это основополагающий алгоритм, использующийся в решении других задач в различных постановках. Постановка задачи для реализации алгоритма включает задание концентрации субстрата в поступающем потоке Sf, г/л, и величины протока D, ч–1. В результате расчета необходимо получить: оценки концентрации субстрата в потоке на выходе из аппарата S, г/л; концентрации биомассы X, г/л; концентрации продукта P, г/л, и величины продуктивности Qp=D⋅P, г/(л⋅ч). Блок-схема алгоритма показана на рисунке 1. Необходимые пояснения к использованию алгоритма связаны с тем, что непрерывный процесс микробиологического синтеза не всегда может быть реализован для заданных условий. Расчетные соотношения, используемые в алгоритме, приведены в [1] и имеют вид S= B ± 2× A æ B ö2 C ç ÷÷ + , ç è 2× A ø A где A = (a× D +b) - D 2 × Pm , Yx s ×m m × Ki B = (a× D +b)× S f + C= D 2 × P m×K m . Yx s ×m m D 2 × P m D × Pm , Yx s ×m m Yx s (1) (2) (3) (4) Выбор знака (±) в выражении (1) определяется условием ограничения для S: 0≤S≤Sf. (5) Знак равенства в (5) относится к предельным случаям. Программные продукты и системы № 2, 2012 г. Начало Задание численных значений параметров µm, ч–1; Pm, г/л; Km, г/л; Ki, г/л; Yx/s, г/г; α, г/г; β, ч–1, D, ч–1; Sf, г/л mm × S f max D = Km + S f + Нет S 2f Ki Да D<maxD Возможные варианты корректировки: 1. Принять новое значение D<maxD 2. Принять новое значение S f < S *f , где S *f Вычисление вспомогательных коэффициентов по формулам (2)–(4) вычисляется по формуле (10) Вывод условия Нет Да Нет B>0 Да A>0 S= B + 2A æ B ö2 C ç ç ÷÷ + è 2A ø A Вычисление N Вычисление B2-|4⋅A⋅C| N = Yx / s ×m m × K i Расчет показателей процесса Корректировка D по условию (11) ( ) ( ) Q p = (a× D +b)×(S - S )×Y X = S f - S ×Yx / s Да 2 P = (a +b D)× S f - S ×Y x / s B -|4⋅A⋅C|<0 f Вывод условия Вычисление x/ s Нет S ** f по формуле (12) S= æ B ö2 C B ç ÷÷ + - ç 2A è 2A ø A Вывод результатов: S, X, P, Qp Корректировка Sf по условию S f < S **f Вывод условия Конец Рис. 1. Блок-схема алгоритма определения показателей процесса при заданных значениях Sf и D Для X и P имеем æ æ öö æ B ö2 C ÷÷ ç ç B ç ÷ X = çS f - ç ± ç (6) ÷ + A ÷ ÷ ×Yx s , ç ç 2× A ÷÷ è 2× A ø è øø è P=X·(α+β/D). (7) Для расчета продуктивности D⋅P (производительности по целевому компоненту P) используем формулу D·P=X·(α·D +β). (8) Первый блок алгоритма, в котором оценивается правильность задания величины протока D при заданном Sf, требует выполнения неравенства D<maxD, где maxD вычисляется по заданной величине Sf. Невыполнение этого неравенства означает, что с потоком через аппарат из реактора вымывается поступающий субстрат, не вступив в 95 Программные продукты и системы № 2, 2012 г. процесс синтеза. В этом случае возможность реализации процесса требует корректировки исходного заданного значения D в соответствии с приведенным неравенством или исходного значения Sf. Выражение для корректирующего соотношения: mm × S f max D = . (9) S 2f Km + S f + Ki Если D≥maxD, возможны два варианта коррекции. 1. Вычисляем maxD по заданному Sf и принимаем новое значение D<maxD(Sf). 2. Вычисляем значение S *f по заданному значению D: æ 2 ö K i ×(m m - D) ç K m æç 2× D ö÷ ÷ * Sf = × ç1 + 1 × ÷ .(10) 2× D ç Ki çè m m - D ÷ø ÷ è ø * Принимаем новое значение S f < S f . Числовой пример по данным таблицы. Пусть задано Sf=22 г/л и D=0,27 ч–1. 1. Вычисляем maxD=0,23 ч–1. Принимаем новое значение D=0,22<maxD. 2. Вычисляем S *f =15,3963 г/л. Принимаем S f < S *f . Пусть Sf=14,0 г/л. Тогда maxD=0,278 ч–1. Таким образом, D<maxD. Второй блок алгоритма, в котором оценивается правильность задания исходных данных Sf и D, относится к условиям соотношения знаков вспомогательных коэффициентов, а именно к условию, когда B>0 при A<0. В этом случае реализация процесса невозможна, поскольку S (концентрация субстрата в выходном потоке) принимает отрицательное значение. Численные значения параметров Yx/s, г/г α, г/г β, ч-1 µm, ч-1 Рm, г/л Km, г/л Ki, г/л 0,4 2,2 0,2 0,48 50 1,2 22 Возможная корректировка связана с изменением величины D до значения, при котором вспомогательный коэффициент A станет больше нуля. Условие положительности вспомогательного коэффициента A будет иметь вид 12 é ö 2 β × N ùú a× N êæ a× N ÷ + D< + êç (11) ú . 2× Pm êç 2 × Pm ÷ø Pm ú è ë û Соотношение (11) будет соотношением для корректировки D, обеспечивающей изменение знака вспомогательного коэффициента A с отрицательного на положительный. Третий блок алгоритма, определяющий правильность задания исходных данных, включает проверку выполнения неравенства B2+4·A·C>0, где 96 B<0 и A<0. Если это условие выполняется, далее следует расчет показателей процесса. Если это условие не выполняется, необходимо корректировать исходные данные. Условие корректировки: B2+4·A·C>0. Откуда S** f = ì ü 1 D ùú 12ï ï D × Pm é ×í × ê1 -× 4× A×C ý . (12) ê ú a× D + β ï ï î Yx s ë µ m û þ Корректирующее соотношение будет иметь вид (дискриминант больше нуля) Sf < ì ü 1 D ùú 12ï ï D × Pm é ×í × ê1 -× 4× A× C ý . (13) ê ú a× D + β ï ï î Yx s ë µ m û þ Блоки 2 и 3 на рисунке 1 обведены пунктиром. Этот фрагмент алгоритма 1 (далее модуль 1) используется в алгоритмах 2 и 3. Алгоритм 2. Данный алгоритм является алгоритмом оптимизации, реализация которого обеспечивает возможность оценки показателей процесса S, X, P и Qp при максимальном значении продуктивности Qp=D⋅P. Задание на расчет включает допустимую область выбора концентрации субстрата в поступающем потоке Sf при заданной величине протока D. Таким образом, исходные данные для расчета имеют вид a=Sf min, г/л; b=Sf max, г/л; D, ч–1. Требуется вычислить Sf, S, X, P и Qp, при которых Qp максимальна, причем Sf min ≤ Sf ≤ Sf max. Проверка правильности задания исходных условий для реализации непрерывного процесса и их возможная корректировка. 1. Вычисляется максимальная величина протока maxD(a) по формуле (9), где Sf=a, при которой субстрат концентрации a=Sf min полностью вымывается из аппарата, не вступив в процесс синтеза. Если заданное значение D≥maxD(a), необходимо уменьшить его. 2. Вычисляется максимальная величина протока maxD(b) по формуле (9), где Sf=b, при которой субстрат концентрации b=Sf max полностью вымывается из аппарата, не вступив в процесс синтеза. Если заданное значение D≥maxD(b), необходимо уменьшить его. В этом условии возможна коррекция и по величине b=Sfmax. То есть вычисляется новое значение S *f по формуле (10) и принимается новое значение S f max < S *f .Таким образом, пункты 1 и 2 обеспечивают условия по заданным значениям a=Sfmin, b=Sfmax и D, при которых непрерывный процесс реализуем, то есть имеется возможность решать задачу оптимизации по критерию Qp=max. Формула для определения Sf, отвечающего оптимальному значению Qp, имеет вид [1] D × Pm 12 S opt = (K m × K i ) ´ f Yx s ×(a× D +b) Программные продукты и системы № 2, 2012 г. 12 æ æ öö K m ö÷ ç D ç æ ÷÷ ç (14) ´ç1 × ç2× ç + 1 ÷÷ ÷ . ÷ ç mm ç è Ki ø ÷ è ø è ø Использование ее ограничено значением величины протока. Минимальное значение D=0, максимальное (назовем его предельным) рассчитывается по формуле m Dпред = m , (15) M 12 æK ö m ÷ ç где M = 2× ç ÷ +1 . è Ki ø Значения Sf при D=0 и Sf при D=Dпред и D=0 12 равны (K m × Ki ) . Функция (14) имеет экстремум по величине D. Следовательно, при решении задачи максимизации Qp возможны два варианта. Первый вариант: если D<Dпред при условии, что D отвечает пунктам 1 и 2, оптимальное значение Sf рассчитывается по формуле (14). Второй вариант: D≥Dпред, формула (14) не может быть использована, и максимальное значение Qp находится на границе области, то есть при Sf=a=Sf min или при Sf=b=Sf max. Изложенные выше положения используются в блок-схеме решения задачи оптимизации. Однако рассматриваемая задача имеет еще ограничения, связанные с численными соотношениями a=Sf min, b=Sf max и S opt (когда есть возможf ность использовать формулу (14)). Если исходные данные или условия их корректировки выполняются, возможны следующие ситуации при определении максимальной продуктивности Qp (рис. 2): a ³ S opt f ; максимум Qp будет граничным, координата максимума S f = a = S f min ; b £ S opt f ; максимум Qp будет граничным, коор- дината максимума S f = b = S f max ; a < S opt < b ; максимум Qp будет внутренним, f координата максимума S f = S opt f . На рисунке 3 показана блок-схема алгоритма 2. Qp, г/(л⋅ч) Sfopt Sf, г/л Рис. 2. Вид зависимости продуктивности Qp от концентрации субстрата Sf в поступающем потоке Приведем числовой пример реализации алгоритма. Исходные данные для расчета: a=Sf min=20 г/л; b=Sf max=30 г/л; D=0,21 ч–1. 1. Вычисляем maxD(a)=0,24376 ч–1; D<maxD(a). 2. Вычисляем maxD(b)=0,19970 ч–1; D>maxD(b). Первый вариант корректировки: принимаем новое значение D=0,18 ч–1. 3. Вычисляем предельное значение D: Dпред=0,32718 ч–1. Так как D<Dпред, вычисляем S opt f =22,12022 г/л; так как выполняется условие a<22,12022<b, для дальнейшего расчета условия имеют вид: –1 S f = S opt f =22,12022 г/л; D=0,18 ч . Второй вариант корректировки: 4. Вычисляем S *f = 27,31937 г/л; принимаем b=Sf max=27 г/л (меньше S *f ). 5. Вычисляем maxD(b) при b=27 г/л: maxD(b)=0,21129 ч–1; D<maxD(b); D<Dпред; a<22,12022<b. 6. Вычисляем S opt f =19,33942 г/л. Для дальнейшего расчета условия имеют вид Sf=a=20 г/л; D=0,21 ч–1. Значения показателей: – по первому варианту корректировки: Qp=4,049 г/(л⋅ч); S=5,138 г/л; X=6,793 г/л; P=22,492 г/л; – по второму варианту корректировки: Qp=3,741 г/(л⋅ч); S=5,871 г/л; X=5,652 г/л; P=17,816 г/л. Алгоритм 3. Данный алгоритм также является алгоритмом оптимизации, реализация которого обеспечивает возможность оценки показателей процесса S, X, P и Qp при максимальном значении продуктивности Qp=D⋅P. Задание на расчет включает допустимую область выбора величины протока D при заданной концентрации субстрата Sf в поступающем потоке. Таким образом, исходные условия для расчета имеют вид a1=Dmin, ч–1; b1=Dmax, ч–1; Sf, г/л. В результате расчета необходимо определить S, X, P, Qp и D, при котором Qp максимальна, причем Dmin≤D≤Dmax. Проверка правильности задания исходных условий для реализации непрерывного процесса и возможная их корректировка. 1. Вычисляется максимальная величина протока maxD по формуле (9), при которой субстрат концентрации Sf полностью вымывается из аппарата, не вступив в процесс синтеза. Если заданное значение b1≥maxD, необходимо выполнить корректировку исходных данных. Корректировка возможна в двух вариантах. По перво97 Программные продукты и системы № 2, 2012 г. 2. Вычисляется максимально возможное значение Sf, при котором можно использовать формулу (19), устанавливающую связь между Sf и D при оптимальном значении Qp. му варианту принимается новое значение b1<maxD, по второму вычисляется и принимается новое значение S f < S *f , где S *f вычисляется по формуле (10). Начало Задание численных значений параметров µm, ч–1; Pm, г/л; Km, г/л; Ki, г/л; Yx/s, г/г; α, г/г; β, ч–1, D, ч–1; Sf, г/л Вычисление maxD(a) по формуле (9), где Sf=a Да Нет D≥maxD(a) Возможные варианты корректировки: 1. Принять новое значение D<maxD(a) 2. Принять новое значение S f < S *f , где Вычисление maxD(b) по формуле (9), где Sf=b S *f вычисляется по формуле (10) Да D≥maxD(b) Возможные варианты корректировки: 1. Принять новое значение D<maxD(b) 2. Принять новое значение S f < S *f , где Нет Вычисление Dпред по формуле (15) S *f вычисляется по формуле (10) Да Sf=a Вывод условия Нет D≥Dпред Вычисление S opt f по формуле (14) Расчет S, X, P, Qp(a) в модуле 1 Нет Sf =b a £ S opt f Sf =a Да Нет Да b£S Расчет S, X, P, Qp(b) в модуле 1 Да Вывод Sf, S, X, P, Qp(a) Qp(a)>Qp(b) opt f S f = S opt f Sf =b Нет Вывод Sf, S, X, P, Qp(b) Расчет S, X, P, Qp в модуле 1 Вывод Sf, S, X, P, Qp Конец Рис. 3. Блок-схема алгоритма определения концентрации субстрата Sf 98 Программные продукты и системы № 2, 2012 г. Максимально возможное значение Sf находится из условия dS f = 0. (16) dD Величина протока D по (14) может принимать m значения в пределах от 0 до m . Величина Sf для M 12 этих крайних значений D равна (K m × Ki ) . Начало Задание численных значений параметров µm, ч–1; Pm, г/л; Km, г/л; Ki, г/л; Yx/s, г/г; α, г/г; β, ч–1; Dmin, ч–1; Dmax, ч–1; Sf, г/л a1=Dmin; b1=Dmax mm × S f max D = Km + S f + Да S 2f Ki Нет b1≥maxD Вычисление maxSf по формуле (14) Возможные варианты корректировки: 1. Принять новое значение D<maxD 2. Принять новое значение S f < S *f , где S *f Вычисление A*, B*, C* вычисляется по формуле (10) Да D =a1 Вывод условия Расчет S, X, P, Qp(a1) в модуле 1 D =b1 Вычисление D Да a1 ³ D opt D =a1 Да Расчет S, X, P, Qp(b1) в модуле 1 Да Вывод S, X, P, Qp(a1) Qp(a1)>Qp(b1 ) Нет Sf ≥maxSf opt по формуле (19) Нет b1 £ Dopt D = D opt D=b1 Нет Вывод S, X, P, Qp(b1) Нет Расчет S, X, P, Qp в модуле 1 Вывод S, X, P, Qp Конец Рис. 4. Блок-схема алгоритма определения величины протока D 99 Программные продукты и системы № 2, 2012 г. Для максимально возможного значения Sf по формулам (14)–(16) получаем æ öù dS f é æ D × M ö ÷ + D × Pm × ç - M ÷ ú × Yx s ´ = êPm × çç1 ç m ÷ú dD ëê è m m ÷ø è m øû (17) æ D× M ö ÷ = 0. ´(a× D + b) - Yx s ×a× D × Pm × çç1 m m ÷ø è Отсюда 12 é ù ö m b æ ç1 + m × a ÷ - 1ú . D = ×ê (18) ú ç M b÷ a ê è ø ê ú ë û Максимальное значение maxSf находится по формуле (14), где значение D вычисляется по формуле (18). Далее, если Sf<maxSf, то для расчета Dopt используется формула æ B* ö 2 C * B* ÷ ± ç D = ç 2× A* ÷ - A* , 2× A* è ø P ×M где A* = m ; Yx s ×m m opt ì ü 12 ï ïP B* = í m - a× é S f - (K m × Ki ) ùú ý ; ê ë ûï ï î Yx s þ 12ù * é C = b× êS f - (K m × Ki ) ú . ë û Каждому значению Sf в пределах (19) от 12 S f = (K m × Ki ) до maxSf соответствуют два значения Dopt. Учитывая, что Q p = Yx s × S f - S ×(a× D +b) , (20) ( ) знак корня в (19) следует принять «+». Блок-схема алгоритма 3 показана на рисунке 4. Числовой пример реализации алгоритма 3. Заданы следующие численные значения: a1=Dmin=0,1 ч–1; b1=Dmax=0,21 ч–1; Sf=30 г/л. 1. Вычисляем maxD по формуле (9): maxD=0,19969 ч–1. Так как b1>maxD, то вводим корректировку по D: принимаем D=0,19 ч–1. 2. Вычисляем Dopt по формуле (19) и maxSf по формуле (14): Dopt =0,10405 ч–1; maxSf=25,8183 г/л. 3. Так как Sf>maxSf, то полагаем D=a1=0,1 ч–1. 4. Вычисляем S, X, P, Qp для D=0,1 ч–1: A=0,301629; B=2,704167; C=3,125; S=10,0011 г/л; X=8 г/л; P=33,6 г/л; Qp=D⋅P=3,36 г/(л⋅ч). 5. Полагаем D=b1=0,19 ч–1. 6. Вычисляем S, X, P, Qp для D=0,19 ч–1: A=0,190680; B=4,191042; C=11,28125; S=24,40381 г/л; X=2,24 г/л; P=7,28 г/л; Qp=1,38 г/(л⋅ч). 7. Так как Qp(b1)<Qp(a1), то результат расчета принимаем по п. 4. Приведем вычисления по второй возможной корректировке. 8. Вычислим S *f при D=0,21 г/л: S *f = =27,319367 г/л. 100 Если в корректировке принимается значение по условию S f < S *f и Sf<maxSf, то расчет выполняется по пунктам алгоритма предыдущего примера, начиная с п. 3. 9. Принимаем S f < S *f и Sf<maxSf, полагая Sf=24 г/л. Таким образом, исходные условия будут: a1=Dmin=0,1 ч–1; b1=Dmax=0,21 ч–1; Sf=24 г/л. 10. Вычисляем maxD: maxD=0,224204 ч–1; D<maxD; Sf<maxSf. 11. Вычисляем A*, B*, C*: A*=382,05714; * B =83,50382; C*=3,77238. 12. Вычисляем Dopt по формуле (19): Dopt=0,10928±0,04548 ч–1; D1=0,15476 ч–1; D2=0,0638 ч–1. 13. Так как a1< Dopt <b1, то в расчет принимаем opt D =0,15476 ч–1. 14. Вычисляем показатели процесса при Dopt=0,15476 ч–1 и Sf=24 г/л: A=0,256959; B= =-0,136488; C=7,484977; S=5,1381 г/л; X=7,54 г/л; P=26,35 г/л; Qp=D⋅P=4,08 г/(л⋅ч). Для информационного обеспечения биотехнологических процессов необходимо использовать экспериментальные исследования кинетики процессов с надежной (адекватной) математической обработкой результатов эксперимента. При этом понятно, что в силу ограниченности возможностей экспериментальных исследований они не могут быть выполнены для всей области реального существования процесса синтеза. Более того, экспериментальные исследования кинетики, как правило, проводятся в периодических условиях культивирования, и результаты не всегда могут быть перенесены на непрерывные или полупериодические условия. К тому же в большинстве случаев кинетические соотношения носят нелинейный характер, что в эксперименте часто выражается в плохой воспроизводимости его результатов. При разработке алгоритмов в данной статье эти особенности отражены в том, что в каждом алгоритме необходимо иметь диалоговую составляющую, функция которой заключается в необходимости проверки заданных условий на возможность их реализации. Литература 1. Моделирование процессов микробиологического синтеза с нелинейной кинетикой роста микроорганизмов: учеб. пособие / Ю.Л. Гордеева [и др.]. М.: РХТУ им. Д.И. Менделеева, 2011. 100 с. 2. Agarwal P., Koshy G., Ramirez M. An algorithm for operating a fed-batch fermentor at optimum specific-growth rate. Biotechnol. Bioeng. 1989. № 33, pp. 115–125. 3. Henson M.A., Seborg D.E. Nonlinear control strategies for continuous fermenters // Chem. Eng. Sci. 1992. № 47, pp. 821–835. 4. Kumar G.P., Subrahmanya J.V.K., Chidambaram M. Periodic operation of a bioreactor with input multiplicities // Can. J. Chem. Eng. 1993. № 71, pp. 766–770. 5. McLain R.B. [et al.]. Habituating control for nonsquare nonlinear processes // Ind. Eng. Chem. Res. 1996. № 35, pp. 4067–4077. Программные продукты и системы № 2, 2012 г. УДК 004.415.2 МЕТОДИКА КОНЦЕПТУАЛЬНОГО ПРОЕКТИРОВАНИЯ ПРОГРАММНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ Д.В. Бутенко, к.т.н.; А.С. Ананьев; К.В. Попов (Волгоградский государственный технический университет, gindenburg@mail.ru, ananievandr@yandex.ru, popov_konstantin@lenta.ru) Представлена методика проектирования новых информационных систем, позволяющая создавать нетривиальные проекты. В общем виде эти технологии на основе имеющейся потребности позволяют сформулировать требования к функциональной структуре будущей системы, определить ее принципы действия и представить варианты технического и параметрического решений. Примером методики служит концептуальное проектирование автоматизированной системы, осуществляющей психосемантическую экспертизу аудиопродукции. Ключевые слова: концептуальное проектирование, информационно-психологическая безопасность, психология, информационные технологии, цифровая обработка сигналов. Под информационно-психологической безопасностью понимается состояние защищенности жизненно важных интересов личности, общества и государства от воздействия вредной информации. Информационно-психологическая безопасность является составной частью информационной безопасности, и ее обеспечение должно занимать особое место в государственной политике. Потенциальными источниками угроз информационно-психологической безопасности могут быть специальные технические и программные средства для неосознаваемого деструктивного воздействия на психику человека, в том числе генераторы физических полей и излучений, программы для ЭВМ, источники информирования [1]. Ответственность за осознание этих угроз и предотвращение последствий от них возлагается на государство. На текущий момент контроль за распространением информации отсутствует либо осуществляется на основе результатов статистических исследований или при помощи экспертов, чье мнение нельзя считать объективным. Для обеспечения такого контроля и предотвращения распространения вредной информации был разработан и принят Федеральный закон «О защите детей от информации, причиняющей вред их здоровью и развитию», который в сентябре 2012 г. вступает в действие. Для решения проблемы объективной экспертизы аудиопродукции как наиболее широко распространенного вида информации в настоящее время проектируется и разрабатывается автоматизированная программная система, объединяющая в себе современные достижения психологии, когнитивных и современных информационных технологий. Базой проекта являются теоретические разработки [2], необходимые для анализа архетипов сознания и сопоставления им той или иной частотной характеристики звука вместе с цветовой детерминантой. Такая программная система строится с использованием технологий концептуального проектирования систем, которые дают возможность соз- давать нетривиальные проекты новых систем. В общем виде эти технологии на основе имеющейся потребности позволяют сформулировать требования к функциональной структуре будущей системы, определить ее принципы действия и представить варианты технического и параметрического решений. На примере концептуального проектирования системы, осуществляющей экспертизу аудиопродукции, представим общую методику создания проекта информационной системы. Этапы проектирования в общем виде содержат апробированную последовательность [3]. Сбор информации о предметной области и формулировка цели проектирования. В соответствии с Федеральным законом «О защите детей от информации…», направленным на защиту детей от разрушительного, травмирующего психику информационного воздействия общедоступных источников массовой информации, необходимо оградить ребенка от информации, способной вызвать в нем психические расстройства, сформировать искаженную картину мира и неправильные жизненные установки, для обеспечения его информационно-психологической безопасности в целом. Целью создания автоматизированной системы является разработка инструмента для проведения качественной объективной экспертизы аудиопродукции, которая будет выступать объектом исследования. Под деструктивной информацией будем понимать аудиоданные, имеющие отклонения в ритме мелодии или скрытые аудиоучастки, вставки, которые могут быть причиной психических расстройств. Моделирование объектов и процессов проектируемой системы. Базой проекта являются теоретические разработки [2], необходимые для анализа архетипов сознания и сопоставления им той или иной частотной характеристики звука вместе с цветовой детерминантой. В современной психологии выделяют 24 фазы сознания человека, каждая из которых соответствует определенной стадии развития сознания. Описаны фазы перинатального развития, обыденного сознания, духов101 Программные продукты и системы № 2, 2012 г. А.А. Бухтоярова; обнаруживать наличие или отной реальности и совершенства сознания. Сознасутствие скрытых вставок в аудиопотоке; составние здесь понимается как способ организации и лять отчет по экспертизе аудиопродукции, вклюуправления развитием сущности человека. Наличающий текст психосемантического анализа аучие описания 24-позиционного реально-виртуальдиоданных, когнитивную карту воздействия звука ного звукоряда, соответствующего фазам сознана архетипы сознания человека и вывод о наличии ния человека, позволяет анализировать музыку или отсутствии скрытых вставок; визуализировать так, что в ней можно обнаружить скрытый смысл, музыкальные композиции как совокупность нето есть смысловой контекст, заложенный в музыпрерывно меняющихся цветовых образов различкальную композицию авторами. ной формы по выбору пользователя. Обзор существующих аналогов и прототиРазработка концептуальной схемы будущей пов системы с целью выявления основных системы. Концептуальная схема представляет функциональных характеристик и обобщенной собой обобщенные компоненты проекта и принфункциональной структуры будущего проекта. ципы их взаимодействия между собой, с польДанный обзор и последующий анализ показали зователем и внешней средой. По результатам отсутствие прямых аналогов системы экспертизы вышеописанной работы была спроектирована аудиопродукции на предмет выявления деструкконцептуальная схема новой системы психосетивной информации в аудиопотоке. Тогда в качемантического анализа звука, которая представлена стве основных прототипов разрабатываемой прона рисунке 1, где показаны две концептуальные граммной системы были взяты программные части – компонента обработки аудиоданных, посредства, направленные на воспроизведение муступивших в систему, и компонента анализа идензыкальных файлов и распознавание нот, такие, как тифицированных психологических характеристик Windows Media Player, Winamp, Aimp, Notation [4]. Качество идентификации данных повышается Player, Digital Music Mentor. Анализ приведенных за счет использования компоненты математичепрограмм позволил выявить их основные функской обработки аудиоданных, принцип действия ции, которыми являются воспроизведение, визуакоторой основан на алгоритме прямого быстрого лизация и представление аудиокомпозиции в виде преобразования Фурье и оконной функции Хэмпоследовательности музыкальных нот, а также минга, повышающей точность распознавания хаособенности функциональных структур и функрактеристик аудиосигнала. ционирования этих программных продуктов. Все На этом этапе проектирования делаются предпредставленные программы имеют схожую функварительные выводы о компонентном составе циональную структуру, основанную на модели проектируемой программной системы, которая воспроизведения звука в ОС Windows. Данная мобудет состоять из трех компонент: дель включает в себя компоненты инициализации режимов воспроизведения, предобработки аудио– предобработки аудиоданных и воспроизведанных, отправки аудиоданных на устройство выдения мелодий; вода, управления воспроизведением. На основе – психосемантического анализа – уникальной модели планируется создание функциональной авторской разработки, включающей в себя компоструктуры проектируемой программной системы, ненту визуализации результатов анализа; которая, помимо основных компонент, будет – формирования отчетов и экспертизы аналивключать в себя компоненту психосемантической зируемой аудиопродукции. идентификации звука и компоненту формирования отчетов по экспертизе аудиопродукции. Формулировка задачи проектирования новой системы. Задача была сформулирована на основании выводов по обзору аналогов и прототипов. Новая система должна воспроизводить, интерактивно распознавать в симультанном аудиопотоке реальные (слышимые) и виртуальные (неслышимые) дискреты звука; проводить экспертизу сочетаний выявленных дискретов на предмет деструктивного воздействия на сознание человека в соответствии с теорией психоРис. 1. Концептуальная схема разрабатываемой программной системы семантического анализа звука 102 Программные продукты и системы Построение обобщенной функциональной структуры и определение требований к функциям проектируемой системы. В связи с отсутствием прямых аналогов и опыта применения инновационных психологических методик данный проект представляет собой инновационную разработку с высокой степенью неопределенности в части функциональной структуры и перечня функций. Однако декомпозиция целей проектирования, выводы по анализу прототипов и характеристики концептуальной схемы позволяют выявить набор основных функций проектируемой системы: – воспроизведение мелодий и управление аудиопотоком; – представление аудиопотока в виде последовательности музыкальных нот; – интерактивное распознавание в аудиопотоке реальных (слышимых) и виртуальных (неслышимых) дискретов звука; – проведение экспертизы звукового ряда по характеру влияния на сознание человека – конструктивному или деструктивному; – обнаружение скрытых вставок в аудиопотоке; – формирование отчетов по экспертизе аудиопродукции; – визуализация музыкальных композиций в виде совокупности непрерывно меняющихся цветовых образов различной формы по выбору пользователя; – селекция аудиопродукции по распознанным психологическим характеристикам; – формирование списков воспроизведения аудиопродукции для целенаправленной активации архетипов сознания человека. На основании приведенных функций, которые должна выполнять проектируемая система, была построена обобщенная функциональная структура, позволяющая определить состав входящих в нее подсистем и связь между ними (рис. 2). Определение требований к входной и выходной информации. Входной информацией для системы служат аудиофайлы форматов mp3, wma и wav. Возможна загрузка как одного аудиофайла, так и массива файлов. Для удобства пользователя реализована поддержка файла списка воспроизведения формата m3u, который наиболее часто используется для хранения списка прослушиваемых данных и поддерживается практически всеми современными музыкальными проигрывателями. Выходной информацией системы является отчет об экспертизе аудиопродукции, включающий в себя текст психосемантического анализа аудиоданных, когнитивную карту воздействия звука на архетипы сознания человека. Кроме того, в отчет включается вывод о наличии или отсутствии скрытых вставок. В качестве визуального резуль- № 2, 2012 г. Примечание: 1, 2 – дискреты аудиосигнала, 3 – психологическая характеристика аудиокомпозиции, 4 – музыкальные ноты, 5 – графическая информация, 6 – когнитивная карта аудиокомпозиции, 7 – текстовая и графическая информация. Рис. 2. Функциональная схема проектируемой системы тата пользователю программы предоставляется цветовой портрет аудиокомпозиции. Проектирование дизайна внешнего вида и пользовательского интерфейса программной системы. Данный этап не регламентирован и дает большие возможности для творчества. Для генерации эффективных решений здесь могут использоваться различные методики научно-технического творчества, например, метод фокальных объектов, относящийся к ассоциативным методам поиска решений. Фокусом для ассоциаций был взят образ цветка, который символизирует круг, разбитый на дискреты, в соответствии с аллюзией о целостном сознании человека с 24 фазами. Результатом применения этого метода в данном примере стало оформление внешнего вида программной системы: дизайн когнитивных карт анализа звукового потока показан на рисунке 3. Сравнение когнитивных карт различных мелодий в таком виде дает наглядное представление о разнообразии результатов экспертизы. Рис. 3. Пример представления когнитивной карты проигрываемой мелодии В целом проектирование автоматизированной системы было проведено по технологии концепту103 Программные продукты и системы ального проектирования, разработанной на кафедре САПР и ПК ВолгГТУ и показавшей свою эффективность в создании прототипов ряда программных продуктов. Таким образом, в статье представлена методика проектирования новых информационных систем, позволяющая создавать нетривиальные проекты. Показано, что на основе имеющейся потребности эти технологии позволяют сформулировать требования к функциональной структуре будущей системы, определить ее принципы действия и представить варианты технического и параметрического решений. На основании изложенной технологии концептуального проектирования создается программный продукт в качестве инструмента для решения задачи проведения объективной психосемантической экспертизы аудиопродукции. Получен- № 2, 2012 г. ный концептуальный проект информационной системы универсален и может использоваться как в онлайновых сервисах, так и в мобильных устройствах, например, в портативных медиаплеерах, смартфонах и прочих подобных устройствах для психосемантического анализа прошедшего разговора или проигранной мелодии. Литература 1. Бачило И.Л., Лопатин В.Н., Федотов М.А. Информационное право. СПб: Юридический центр «Пресс», 2001. 789 с. 2. Бухтояров А.А., Степанов А.М. Третий Эон. Уфа: Информреклама, 2006. 348 с. 3. Концептуальное проектирование. Развитие и совершенствование методов: монография / В.А. Камаев [и др.]. М.: Машиностроение-1, 2005. 360 с. 4. Ананьев А.С., Попов К.В. Автоматизация способа психосемантической идентификации звука // «Новые информационные технологии»: тез. докл. XIX Междунар. студ. конф.-шк.-семинара. М.: МИЭМ, 2011. 316 с. УДК 004.4′24:891.3 МОДЕЛИ ВЫВОДА В ЭКСПЕРТНЫХ СИСТЕМАХ ПСИХОФИЗИОЛОГИЧЕСКОЙ ДИАГНОСТИКИ А.Е. Ермаков, к.т.н. (Военно-медицинская академия им. С.М. Кирова, г. Санкт-Петербург, alerma@rambler.ru) Описаны различные модели прямого вывода диагностического заключения в классе экспертных систем психологической и физиологической диагностики, создаваемых в рамках проблемно-ориентированной автоматизированной технологии, а также особенности организации вычислений в этих экспертных системах при использовании рассматриваемых моделей вывода. Ключевые слова: экспертная диагностическая система, автоматизированное создание экспертных систем, программное инструментальное средство, интерпретатор описаний экспертных систем, диагностическое заключение, модель вывода диагностического заключения, вычислительная процедура, диагностическая ценность правила, вычисляемый показатель, формирующий показатель. Существует большое количество отечественных и зарубежных публикаций, посвященных созданию и практическому применению экспертных систем (ЭС) различного назначения, в том числе созданию ЭС с помощью разнообразных автоматизированных технологий, систем и оболочек, формированию баз знаний (БЗ) ЭС, моделям описания и способам извлечения знаний в различных предметных областях, реализации вывода и организации вычислений в ЭС [1–3]. При этом создание ЭС для психологической и физиологической диагностики (ПФД), а тем более технологии их автоматизированной разработки, требует от авторов формирования собственного подхода, соединяющего традиционные научные и прикладные результаты, специфику решаемых задач и индивидуальный взгляд на проблему. В статье рассматриваются модели вывода диагностического заключения и организации вычислений в БЗ широкого класса ЭС ПФД, создавае104 мых при помощи авторской технологии (АТ) их автоматизированной разработки [1]. Некоторые из этих моделей вывода в течение ряда лет успешно используются в составе АТ, другие пока апробируются либо планируются к включению в АТ в перспективе. Включение в состав АТ дополнительных моделей вывода осуществляется по мере возникновения потребности в решении новых типов практических задач ПФД и апробации новых подходов к их решению. Технология автоматизированного создания ЭС Данная технология [4] предназначена для создания без программирования широкого класса ЭС ПФД и их практического использования психологами и врачами. АТ включает в себя: – проблемно-ориентированное программное инструментальное средство, обеспечивающее Программные продукты и системы пользователю возможность автоматизированного создания ЭС через пошаговую спецификацию ее параметров; – программную систему – интерпретатор описаний ЭС, реализующую процедуру обследования, обработку полученных диагностических результатов и их представление в удобной пользователю форме; – расширяемый банк диагностических средств (баз описаний психологических тестов, вопросников, процедур ввода в ЭС различных параметров обследуемого, имеющих стандартизованный на уровне АТ интерфейс обмена данными с внешней средой); – БЗ (описаний) ЭС ПФД. (Технология разработана автором совместно с К.А. Найдёновой и зарегистрирована в Роспатенте.) При формировании БЗ ЭС инструментальное средство предоставляет пользователю возможность пошаговой спецификации ее объектов в порядке, определяемом их семантикой и существующими между ними отношениями. Сначала эксперт задает список диагностических задач. Затем для каждой задачи формируется список диагностических показателей (ДП), которые могут быть измеряемыми и вычисляемыми, а также формируемыми и формирующими. Для измеряемых ДП задаются измерительные шкалы (основная и, если необходимо, дополнительные), затем определяются структурные связи между ДП, далее в порядке возрастания уровня структурной иерархии для каждого вычисляемого ДП задается вычислительная процедура, допустим, взвешенное сложение формирующих ДП с весовыми коэффициентами, порождающая основную измерительную шкалу этого вычисляемого ДП. Примером основной шкалы в психодиагностике является шкала сырых баллов при ответе на тестовые вопросы, а в физиологии – шкала непосредственно измеряемых значений ДП (уровень глюкозы в крови, систолическое и диастолическое артериальное давление, частота сердечных сокращений, уровень холестерина в крови и т.д.). Дополнительными в психодиагностике являются стандартизованные (стенов, станайнов, Т-баллов) и квантильные шкалы (процентилей и др.), а в медицинской диагностике – качественные шкалы со значениями «ниже нормы», «норма», «выше нормы», выдаваемые многими современными приборами, используемыми для исследования состава крови и других физиологических параметров. Далее, если необходимо, для вычисляемых ДП задаются дополнительные измерительные шкалы и отношения между ними. Если ДП имеет дополнительную качественную измерительную шкалу, множество ее значений содержит формулировки диагнозов, итоговых и промежуточных заключений в виде: «вероятен респираторный ацидоз», № 2, 2012 г. «имеется склонность к девиантным формам поведения» и т.п. В инструментальном средстве, кроме прямой экспертной спецификации знаний, имеются программные средства индуктивного вывода знаний из данных, которые работают на основе специальных обучающих выборок, предоставляемых пользователем. Эти индуктивно сформированные знания (правила вычисления значений ДП, структурные связи между ДП, весовые коэффициенты формирующих ДП в формулах и др.) затем включаются в БЗ создаваемых ЭС ПФД. Интерпретатор описаний – программная система, обеспечивающая практическое использование созданных ЭС: ведение БД по обследуемым, реализацию диагностических процедур, описанных в ее БЗ, пошаговую обработку полученных данных, управление ходом обследования, формирование диагностического заключения и отображение для специалистов результатов обследования в табличной и графической формах. Рассматриваемый класс ЭС При создании рассматриваемого класса ЭС используется формализованная модель предметной области, описывающая структурные и функциональные параметры решаемых задач ПФД [5]. В рамках этой модели задача ПФД представляется в виде ветвящейся процедуры с детерминированными структурными и функциональными связями между ДП, коэффициентами истинности промежуточных и окончательных заключений, возможностью производства вычислений с полностью и частично определенными значениями операндов (предусловий), использованием разнотипных вычислительных процедур и развитых средств управления выводом диагностического заключения, основанных на анализе результатов, полученных на каждом его шаге. Вычисляемые ДП конструируются на основе формирующих ДП (измеряемых ДП и вычисляемых ДП более низкого уровня структурной иерархии). ДП связаны между собой и с другими объектами модели различными отношениями, в том числе структурными связями (нисходящими – от формируемых ДП к формирующим и восходящими – от формирующих ДП к формируемым). Все ДП имеют атрибут «уровень структурной иерархии», который у вычисляемых ДП на единицу превышает наивысший уровень структурной иерархии формирующих его ДП, а все измеряемые ДП имеют уровень структурной иерархии, равный 0. Если вычисляемый ДП p3 строится на основе формирующих ДП p1 и p2, а уровни структурной иерархии p1=1 и p2=3, то уровень структурной иерархии p3=4. В инструментальном средстве реализован алгоритм расчета уровней структурной иерархии рассматриваемых ДП, используемый при формировании БЗ. 105 Программные продукты и системы БЗ ЭС, создаваемых в рамках АТ, включают в себя базу правил и базу формул, предназначенных для вывода значений вычисляемых ДП на основе значений формирующих ДП, но база формул может и отсутствовать. В БЗ ЭС также содержатся правила, управляющие структурой диагностической процедуры – пошаговым выбором и запуском диагностических средств (ДС), пошаговым анализом полученных данных и формированием диагностического заключения. Правила вывода диагностического заключения В ЭС ПФД, созданных при помощи АТ [4], для организации вычислений используются четкие и нечеткие продукционные утверждающие правила. Четкие правила имеют вид: «если ДП pi=i1 или pi∈[i1, i2] & pn=n1 (pn∈[n1, n2]) & ... & pk=k1 (pk∈[k1, k2]), то вычисляемый ДП pm=m1», а нечеткие правила – вид: «если pi=i1 (pi∈[i1, i2]) & ... & pk=k1 (pk∈[k1, k2]), то pm=m1 с некоторым коэффициентом истинности кипр=α, 0<α≤1». Коэффициенты истинности правил (кипр) являются количественной мерой достоверности описываемых ими закономерностей в контексте рассматриваемой задачи ПФД. Они могут напрямую задаваться экспертом на основе справочной литературы и личного опыта или алгоритмически вычисляться интерпретатором описаний в ходе вывода. Значения i1, n1, k1, m1 и интервалы значений формирующих ДП могут быть числовыми и нечисловыми величинами. Постусловие нечеткого правила (значение вычисляемого ДП) при этом будет ложным с некоторой числовой мерой – коэффициентом ложности γ=1–α, 0≤γ<1. Наряду с утверждающими правилами в ЭС ПФД могут использоваться четкие правила, отвергающие некоторые значения вычисляемых ДП, также продукционные. Отвергающие правила имеют вид: «если pi=i1 (pi∈[i1, i2]) & ...& pk=k1 (pk∈[k1, k2]), то вычисляемый ДП pm≠m2». Нечеткие отвергающие правила в рассматриваемых далее моделях вывода не используются, поскольку являются инверсией соответствующих нечетких утверждающих правил. Классификация моделей прямого вывода в ЭС ПФД Модели прямого вывода диагностического заключения, используемые в рассматриваемом классе ЭС ПФД, можно классифицировать по следующим параметрам. 1. Количество значений вычисляемых ДП, формируемых на каждом шаге вывода: – одновариантные модели вывода (на каждом шаге вывода ищется единственное значение вычисляемого ДП); 106 № 2, 2012 г. – многовариантные модели вывода (хотя бы на одном шаге вывода ищется несколько значений вычисляемого ДП). 2. Степень истинности (диагностической ценности) выводимых значений ДП: – вывод значений вычисляемых ДП осуществляется с использованием четких правил со 100 %-ной истинностью; коэффициенты истинности диагностических правил и значений формирующих ДП не используются; – вывод значений вычисляемых ДП производится с использованием нечетких правил; значения вычисляемых ДП и диагностические правила обладают истинностью α, 0<α ≤ 1; коэффициенты истинности правил задаются экспертом при формировании БЗ ЭС, коэффициенты истинности значений вычисляемых ДП рассчитываются экспертной системой в процессе вывода. 3. Типы диагностических правил, используемых при выводе: – только утверждающие правила, свидетельствующие об абсолютной или частичной достоверности выводимых значений вычисляемых ДП; – как утверждающие, так и отвергающие правила, в результате чего решения на каждом шаге вывода формируются на основе утверждающих правил при отсутствии правил, отвергающих эти значения, а при наличии отвергающих правил значения вычисляемых ДП отвергаются. 4. Степень определенности операндов (формирующих ДП), используемых при выводе: – на каждом шаге вывода расчет значений вычисляемых ДП проводится при условии, что значения всех формирующих ДП в формулах и значения всех предусловий в используемых правилах измерены и вычислены; – при выводе допускаются производство вычислений и с не определенными на данном его этапе (шаге) значениями части операндов (в процедурах на основе формул) и использование правил с сокращенным набором формирующих ДП в предусловиях (при их наличии в БЗ ЭС). Под сокращенным набором формирующих ДП понимаются ситуации, когда некий ДП p4 структурно формируется, к примеру, на основе ДП p1, p2, p3, но в некоторых правилах БЗ для его вычисления используются значения лишь части из этих ДП, например, p1 и p2 , или p2 и p3, или только p1. 5. Структура диагностической процедуры: – линейная, в которой все ДС независимо от полученных с их помощью диагностических результатов применяются (предъявляются обследуемому) в одном априори заданном порядке; – ветвящаяся (древовидная), в которой по окончании работы некоторых или каждого ДС модулем вывода анализируются полученные данные для определения дальнейших действий – запуска того или иного ДС или окончания обследования и формирования диагностического заключения. Программные продукты и системы Модели вывода диагностического заключения в ЭС ПФД В рассматриваемом классе экспертных систем вывод значений вычисляемых ДП осуществляется в порядке возрастания их уровней структурной иерархии. При использовании моделей вывода с полностью определенными операндами расчет значений вычисляемых ДП производится однократно, а в моделях с не полностью определенными операндами значения вычисляемых ДП могут пересчитываться многократно. Введем обозначения: Одновар (одновариантная модель вывода) – для всех вычисляемых ДП ищется единственное значение; Многовар (многовариантная модель вывода) – хотя бы для одного вычисляемого ДП ищется несколько значений; ПолОпр – для всех вычисляемых ДП вычисления производятся с полностью определенными операндами; НепОпр – хотя бы для одного ДП вычисления производятся с не полностью означенными операндами; УтвПрав – для нахождения значений всех вычисляемых ДП используются только утверждающие правила; Утв&Отв – для нахождения значений хотя бы одного вычисляемого ДП используются утверждающие и отвергающие правила; НечПрав – при выводе значений вычисляемых ДП используются нечеткие правила, коэффициенты истинности значений ДП и правил; ЧетПрав – при выводе используются четкие правила, коэффициенты истинности значений ДП и правил не используются. Тогда с учетом особенностей формализованной модели предметной области в рамках АТ [5] теоретически могут использоваться модели вывода, описываемые следующими параметрами: Одновар – ПолОпр – УтвПрав – НечПрав, Одновар – ПолОпр – УтвПрав – ЧетПрав, Одновар – ПолОпр – Утв&Отв – НечПрав, Одновар – ПолОпр – Утв&Отв – ЧетПрав, Одновар – НепОпр – УтвПрав – НечПрав, Одновар – НепОпр – УтвПрав – ЧетПрав, Одновар – НепОпр – Утв&Отв – НечПрав, Одновар – НепОпр – Утв&Отв – ЧетПрав, Многовар – ПолОпр – УтвПрав – НечПрав, Многовар – ПолОпр – УтвПрав – ЧетПрав, Многовар – ПолОпр – Утв&Отв – НечПрав, Многовар – ПолОпр – Утв&Отв – ЧетПрав, Многовар – НепОпр – УтвПрав – НечПрав, Многовар – НепОпр – УтвПрав – ЧетПрав, Многовар – НепОпр – Утв&Отв – НечПрав, Многовар – НепОпр – Утв&Отв – ЧетПрав. Далее рассмотрим модели, представляющие наибольший практический интерес. 1. Одновариантная модель вывода на основе четких утверждающих правил с полностью определенными значениями операндов. В этой модели вывод значений вычисляемых ДП осуществляется в порядке возрастания их уровней структурной иерархии. При этом на каж- № 2, 2012 г. дом шаге вывода рассчитываются значения только тех вычисляемых ДП, у которых на момент просмотра найдены значения всех операндов, то есть эти значения имеют индикатор вычисленности. Коэффициенты истинности значений формирующих ДП и правил при выводе не используются, поэтому значения всех вычисляемых ДП выводятся со 100 %-ной достоверностью. При этом заранее отсортированные правила нахождения значений вычисляемых ДП последовательно просматриваются до удовлетворения их предусловий поступившими в модуль вывода значениями формирующих ДП обследуемого, взятыми из БД ЭС. В результате вычисляемому ДП присваиваются значение постусловия (правой части правила) и индикатор вычисленности, поиск правил для данного вычисляемого ДП завершается, и модуль вывода переходит к поиску значения следующего вычисляемого ДП этого же уровня структурной иерархии. Если все вычисляемые ДП данного уровня иерархии означены, модуль вывода переходит к нахождению значений вычисляемых ДП следующего уровня. Формулы для расчета значений вычисляемых ДП в ходе вывода также используются при условии, что все операнды в них означены. Если на некотором шаге вывода хотя бы один операнд в правилах или формулах не означен, этот показатель модулем вывода пропускается и предпринимается попытка означить следующий вычисляемый ДП этого же или более высокого уровня структурной иерархии. В рамках модели процесс формирования диагностического заключения может иногда прерываться из-за невозможности означить значения некоторых вычисляемых ДП, если значения каких-либо формирующих ДП, непосредственно связанных с ними, не определены. 2. Одновариантная модель вывода на основе четких утверждающих правил с не полностью определенными значениями операндов. Данная модель вывода обладает большей гибкостью в сравнении с предыдущей и обеспечивает пользователю получение одновариантного диагностического заключения в большем проценте случаев, чем предыдущая, но также без оценки надежности полученного результата. Как и в модели 1, расчет значений вычисляемых ДП производится в порядке возрастания их уровней структурной иерархии. При выводе значения вычисляемого ДП в БЗ ищется правило, предусловия которого содержат только означенные формирующие ДП при том, что структурно этот вычисляемый ДП может быть связан и с другими, пока еще не означенными формирующими ДП. В вычислительных процедурах, использующих формулы, на каждом шаге вывода расчет значений вычисляемых ДП также производится и в случаях, когда значения части формирующих ДП не определены. При этом значения неозначенных операн107 Программные продукты и системы дов в формулах, использующих арифметическое сложение и вычитание, полагаются равными нулю, а в формулах на основе умножения и деления операндов – единице. В отличие от модели 1 в данной модели используются индикаторы предварительной и окончательной вычисленности значений ДП. С учетом некоторого упрощения реализованного в модели алгоритма индикатор предварительной вычисленности присваивается ДП, если его значение найдено на основе сокращенного множества операндов и свидетельствует о том, что при возможности значение этого ДП следует пересчитать на основе значений расширенного или полного множества формирующих ДП. В последнем случае вычисляемый ДП получает индикатор окончательной вычисленности и его значение больше не пересчитывается. В этой модели после нахождения значения очередного вычисляемого ДП и перед началом поиска значения следующего вычисляемого ДП делается попытка пересчета значений вычисляемых ДП более высоких уровней структурной иерархии, имеющих индикатор предварительной вычисленности. 3. Одновариантная модель вывода на основе нечетких утверждающих правил с полностью определенными значениями операндов. Данная модель строится на базе модели 1 с добавлением к ней коэффициентов истинности ДП и правил вывода. В БЗ ЭС для вывода значения вычисляемого ДП ищется диагностическое правило с удовлетворенным предусловием или формула. Обозначим pkn n-е значение ДП pk; киkn – коэффициент истинности этого значения. Допустим, при выводе ищется значение вычисляемого ДП px, определяемое с помощью нескольких диагностических правил, одним из которых является правило: «если p1=p1α & p2=p2β &… & pk=pkγ, то px=pxm» (1) с коэффициентом истинности кипр, содержащее значения {p1α, p2β, …, pkγ} формирующих ДП {p1, p2, …, pk}. Для этого модуль вывода из БД ЭС запрашивает пары величин {(p1α, ки1α), …, (pkγ, киkγ)}. Если этими данными предусловия правила (1) удовлетворены, то значение вычисляемого ДП px станет равным его постусловию pxm, а коэффициент истинности киxm значения pxm ищем по формуле киxm=min(ки1α, ки2β,…, киkγ, кипр). (2) Есть и другие способы нахождения коэффициентов истинности значений вычисляемых ДП, однако в АТ используется этот в связи с его простотой и адекватностью задачам ПФД. Для значений вычисляемых ДП px, рассчитываемых по арифметическим формулам px=f(p1, …, pk) и логическим выражениям вида px=p1 &… & pk, киxy=min(ки1α, …, киkγ, киф), а для ДП, рассчитываемых по логическим выражениям вида px=p1 ∨ … ∨ pk, киxy=min(max(ки1α, …, киkγ), киф); где f – обозначение формулы; & – операция конъюнкции; ∨ – 108 № 2, 2012 г. дизъюнкция; киф – коэффициент истинности формулы. Во многих случаях коэффициенты истинности значений измеряемых ДП и формул киф равны 1, а кипр, задаваемые разработчиком ЭС, удовлетворяют условиям 0<кипр ≤ 1. Поэтому (2) может приобретать вид киxm=min(1, …, 1, кипрm)=кипрm, киxm=min(ки1α, …, киkγ, 1)=min(ки1α, …, киkγ), а киxy=min(max(ки1α ,…, киkγ), киф) – вид min(max(ки1α, …, киkγ), 1)=max(ки1α, …, киkγ) или киxy=min(max(1, …, 1), киф)=киф, поскольку коэффициенты истинности некоторых эмпирических аналитических выражений могут быть не равны 1. При использовании нечетких правил вывода возникает проблема экспертного задания их коэффициентов истинности при формировании БЗ ЭС. Существуют два основных подхода: – полагаются на личный профессиональный опыт эксперта, участвующего в создании ЭС, и опыт других специалистов, с некоторой надежностью гарантирующий достоверность задаваемых коэффициентов истинности; – применяются различные технологии, методы и способы извлечения нечетких знаний из их носителя (специалиста) и формализации нечетких рассуждений эксперта, описанные в том числе в [1, 2]. В настоящее время в АТ [4] используется 1-й подход как достаточно хорошо зарекомендовавший себя на практике. 4. Одновариантная модель вывода на основе нечетких утверждающих правил с не полностью определенными значениями операндов. Данная модель объединяет в себе черты и принципы функционирования моделей 2 и 3. При этом вычисления с не полностью определенными значениями операндов в ней производятся, как в модели 2, а расчет коэффициентов истинности значений вычисляемых ДП выполняется подобно модели 3. 5. Одновариантная модель вывода на основе четких утверждающих и отвергающих правил с полностью определенными значениями операндов. Основное отличие данной модели от модели 1 заключается в использовании отвергающих правил, имеющих более высокий приоритет по сравнению с утверждающими. Если значение pim вычисляемого ДП pi модулем вывода найдено при помощи некоторого утверждающего правила, то в базе отвергающих правил ищется правило с удовлетворенным предусловием и постусловием pim. В случае, если такое правило найдено, значение pim признается недопустимым. Затем модулем вывода в БЗ ЭС ищется правило, порождающее другое допустимое значение pik вычисляемого ДП pi, которое также проверяется по базе отвергающих правил. Если отвергающее правило для значения pik отсутствует, это значение вносится в БД ЭС, индикатор его вычисленности становится true и модуль вывода переходит к означиванию сле- Программные продукты и системы дующего вычисляемого ДП. Если другое допустимое значение у pi отсутствует, в данной модели вывода вычисляемый ДП pi остается неозначенным, его индикатор вычисленности сохраняет значение false, а модуль вывода переходит к поиску значения следующего вычисляемого ДП. 6. Одновариантная модель вывода на основе нечетких утверждающих правил и четких отвергающих правил с полностью определенными значениями операндов. Модель вывода объединяет в себе принципы функционирования моделей 3 и 5. Коэффициенты истинности значений вычисляемых ДП рассчитываются, как в модели 3, а алгоритм вывода значений ДП реализуется, как в модели 5. 7. Одновариантная модель вывода на основе нечетких утверждающих правил и четких отвергающих правил с не полностью определенными значениями операндов. Модель объединяет в себе принципы функционирования моделей 2 и 6 или моделей 2, 3 и 5. Алгоритм вывода значений вычисляемых ДП в ней реализуется, как в моделях 5 и 6, с учетом принципов вычислений при не полностью определенных значениях операндов из модели 2. Коэффициенты истинности значений вычисляемых ДП рассчитываются, как в моделях 3 и 6. 8. Многовариантная модель вывода на основе нечетких утверждающих правил с полностью определенными значениями операндов. В рамках модели для нахождения значений вычисляемых ДП могут использоваться как правила, так и формулы. При поиске значений {pkγ} вычисляемого ДП pk элементы прямого произведения значений формирующих ДП поочередно подставляются в правила или формулы. Поиск {pkγ} производится перебором сначала правил, а для каждого правила – сочетаний значений формирующих ДП. Допустим, значения некоторого вычисляемого ДП p4 находятся с помощью правил «если p1=a & p2=b, то p41=d», кипр1=0,7, «если p2=h & p3=c, то p42=е», кипр2=0,6, (3) «если p3>f, то p43=g», кипр3=0,5. Допустим, ранее были найдены следующие значения ДП p1, p2, p3, хранящиеся в БД ЭС: p1={(p11=a; ки11=0,35), (p12=2a; ки12=0,65)}, p2={(p21=b; ки21=0,56), (p22=h; ки22=0,68)}, (4) p3={(p31=c; ки31=0,83), (p32=2f; ки32=0,79)}, c<f. Как и в модели 3, в данной модели коэффициенты истинности значений вычисляемых ДП рассчитываются как минимум коэффициентов истинности всех формирующих ДП и правила. Тогда при подстановке данных (4) в правила (3) будут получены следующие результаты: p41=d, ки41=min(ки11, ки21, кипр1)=min(0,35; 0,56; 0,7)=0,35; p42=е, ки42=min(ки22, ки31, кипр2)=min(0,68; 0,83; 0,6)=0,6; p43=g, ки43=min(ки32, кипр3)=min(0,79; 0,5)=0,5. № 2, 2012 г. При использовании для расчета значения px выражений вида px=f(p1, …, pk) или px=p1 &… & pk в них последовательно подставляются значения {p11, …, p1α}, …, {pk1, …, pkβ} формирующих ДП p1, …, pk, в результате чего потенциально для ДП px может быть сформировано множество значений вида {pxγ, γ=1, …, α× … ×β} с коэффициентами истинности киxγ=min(ки1m, …, киkn, киф), m∈{1, …, α} ,…, n∈{1, …, β}. Если px вычисляется как дизъюнкция формирующих ДП, то киxγ=min(max(ки1m, …, киkn), киф). Например, пусть на предыдущих шагах вывода были найдены величины {(p1i, ки1i), i=1, …, m1} и {(p2j, ки2j), j=1, …, m2}, а на данном его шаге значение ДП р3 находится по формуле р3=р1+р2. Пусть коэффициент истинности формулы киф=1. Тогда для нахождения значений ДП р3 модуль вывода сформирует пары величин {(p3n=р1i+р2j, ки3n=min(ки1i, ки2j, 1)), n=1, …, m1×m2, i=1, …, m1, j=1, …, m2}, которые будут сохранены в БД ЭС полностью или частично, например, δ<m1×m2 пар c большими коэффициентами истинности. 9. Многовариантная модель вывода на основе нечетких утверждающих правил и четких отвергающих правил с полностью определенными значениями операндов. Модель объединяет в себе принципы функционирования моделей 6 и 8 или моделей 3, 5 и 8. Коэффициенты истинности значений вычисляемых ДП рассчитываются, как в модели 3, а алгоритм вывода значений ДП – как в моделях 5 и 8. При этом используются: – комплекс утверждающих правил, содержащий правила вывода значений вычисляемых ДП; – комплекс отвергающих правил – запретов для значений вычисляемых ДП, описывающих значения формирующих ДП, при которых значения вычисляемых ДП недопустимы. Решение о допустимости найденного значения pni вычисляемого ДП pn принимается по принципу: в БЗ есть утверждающее правило с удовлетворенными предусловиями, подтверждающее истинность значения pni, а правило, отвергающее это значение, отсутствует. В противном случае значение pni ДП pn отвергается. Подытоживая, следует отметить, что определить наиболее адекватные модели трудно. Все зависит от специфики задачи ПФД. Многие задачи ПФД можно решать с помощью нескольких различных моделей вывода, хотя для каждой задачи наиболее адекватной все же является какая-то одна из них. Модели вывода 1 и 2 успешно использовались для создания ЭС ПФД в рамках АТ [4]. В настоящее время запрограммированы и проходят практическую апробацию модели вывода диагностического заключения 3, 5, 6 и 8. Целью статьи являлось рассмотрение в систематизированном виде различных моделей вывода 109 Программные продукты и системы № 2, 2012 г. диагностического заключения применительно к описанному классу ЭС ПФД, создаваемых в рамках АТ, в том числе для определения направлений дальнейшего развития этой технологии. Литература 1. Приобретение знаний; [пер. с япон.; под ред. С. Осуги, Ю. Саэки]. М.: Мир, 1990. 304 с. 2. Асаи К., Ватада Д., Иваи С. Прикладные нечеткие системы; [пер. с япон.; под ред. Т. Тэрано, К. Асаи, М. Сугэно]. М.: Мир, 1993. 368 с. 3. Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ; [пер. с англ.]. М.: Финансы и статистика, 1990. 320 с. 4. Найденова К.А., Ермаков А.Е. Технология автоматизированной разработки адаптивных компьютерных систем психологической и физиологической диагностики // Автоматизация проектирования дискретных систем: матер. 3-й Междунар. конф. Минск, 1999. Т. 3. С. 72–79. 5. Модель знаний для автоматизированного проектирования экспертных психодиагностических систем / К.А. Найденова [и др.] / Искусственный интеллект-96: сб. науч. тр. 5-й Национ. конф. с междунар. участ. Казань, 1996. Т. 2. С. 275–279. УДК 004.658.6:042 ВРЕМЕННОЙ АНАЛИЗ ОБРАБОТКИ КОНФЛИКТНЫХ ТРАНЗАКЦИЙ В ORACLE ENTERPRISE MANAGER И ERRMANAGER Е.В. Базилевский (Сургутский государственный университет Ханты-Мансийского автономного округа – Югры, chester917@yandex.ru) Временные оценки обработки конфликтных транзакций в Oracle Enterprise Manager и разработанном приложении ErrManager показали, что последнее позволяет существенно повысить эффективность разрешения конфликтов репликации и сократить затраты не только на обслуживание промышленной БД, но и на решение проблем, возникающих из-за простоев и отказов информационных систем предприятия. Ключевые слова: БД, репликация данных, конфликты репликации, Oracle. Одним из лидеров в разработке корпоративных СУБД является компания «Oracle», предоставляющая наиболее гибкое и законченное решение для создания распределенных БД, обеспечивающих различные механизмы репликации данных между узлами, включая множественные обновления [1]. СУБД Oracle также включает механизмы обнаружения и устранения конфликтов репликации. Однако для управления процессом репликации и разрешения конфликтных транзакций администратору предлагается продукт Oracle Enterprise Manager (OEM), который не позволяет использовать все возможности СУБД Oracle, а принципы его реализации делают работу неэффективной и неустойчивой, что приводит к нарушению производственного процесса и дополнительным затратам из-за длительной блокировки объектов БД [2]. Недостатки OEM обусловили необходимость поиска альтернативных средств для разрешения конфликтов репликации и разработки автором специального программного продукта ErrManager [3]. Актуальной задачей является оценка адекватности полученного решения и его эффективности по сравнению с OEM посредством выполнения тестовых заданий для обоих программных продуктов. Для определения временных затрат обработки конфликтных транзакций в Oracle Enterprise Manager и ErrManager проведен временной анализ 110 обработки конфликтов по каждому продукту в отдельности. На двух узлах распределенной БД, между которыми настроено реплицирование данных, одновременно сформировано 20 транзакций по 20 вызовов в каждой. Все 20 транзакций содержат по одному конфликтному вызову. Операции произведены над объектом БД «таблица», имеющим 7 полей. В результате на каждом узле вся группа транзакций попадет в очередь конфликтных транзакций, нарушив таким образом бесперебойное реплицирование данных между узлами. Приведем системные и программные требования к рабочим местам пользователей обеих систем, а также технические характеристики серверов, на которых расположены узлы БД, участвовавших в эксперименте. Минимальные требования к рабочему месту администраторов OEM и ErrManager: – ОС Microsoft Windows 2000/XP; – клиентское приложение: СУБД Oracle 9i для OEM, Oracle 8 для ErrManager; – Internet Explorer 6.0; – процессор Intel Pentium III, 800 МГц; – оперативная память 512 Мб; – сетевой адаптер Ethernet, 100 Мбит/сек.; – накопитель на жестком диске с доступной емкостью: 1 Гб для OEM, 800 Мб для ErrManager; – дисплей с разрешением 1024×768 точек (цветной); Программные продукты и системы – наличие локальной сети и доступа к серверу с БД. Кроме того, для ErrManager требуется Oracle OLEDB Provider версии установленного клиентского приложения СУБД Oracle. Технические характеристики узлов 1 и 2 распределенной БД (на момент тестирования): – процессор Intel Xeon 3.00 GHz; – оперативная память 4.00 Gb; – ОС Microsoft Windows Server 2003 R2 Standard Edition Service Pack 2; – версия СУБД и БД Oracle – 10.2.0.3. Рабочее место администратора БД (на момент тестирования): – процессор Intel Xeon 1.70 GHz; – оперативная память 4.00 Gb; – сетевой адаптер Ethernet, 100 Мбит/сек.; – доступный объем дисковой памяти более 100 Гб; – дисплей с разрешением 1024×768 точек (цветной); – ОС Microsoft Windows XP Professional 2002 Service Pack 2; – Internet Explorer 8.0; – наличие локальной сети и доступа к серверу с БД; – наличие Oracle OLEDB Provider версии установленного клиентского приложения СУБД Oracle; – версия клиентского приложения Oracle – 10.2.0.3. Временные затраты на обработку конфликтных транзакций в Oracle Enterprise Manager оценивались посредством анализа trace-файлов БД, в которых фиксируется время выполнения всех транзакций и составляющих их запросов, в том числе вызовов функций системных пакетов. Это позволило оценить временные затраты на выполнение каждого действия в алгоритме разбора конфликтных транзакций, реализованного в OEM (рис. 1). Таким образом, для разбора одного вызова необходимо затратить 16 сек., одной конфликтной транзакции – 320 сек. (5,33 мин.), 20 конфликтных транзакций – 6 400 сек. (1,78 час.). После получения отчета о конфликтных транзакциях средствами OEM требуется выполнить синхронизацию данных между узлами распределенной БД иными средствами. Для этого необходимо последовательно – загрузить ПО, позволяющее выполнить в течение 10 сек. sql-скрипты по синхронизации данных между узлами распределенной БД (к примеру, PL\SQL Developer); – выполнить соединение с необходимой БД – 5 сек.; – сформировать и выполнить sql-скрипты по синхронизации данных – 5 мин. В итоге на синхронизацию данных между различными узлами распределенной БД в данной си- № 2, 2012 г. туации необходимо затратить 1 ч. 52 мин. После этого в OEM следует выполнить конфликтные транзакции повторно, что занимает 10 мин. Проведенные испытания показали, что на разрешение 20 конфликтных транзакций, содержащих по 20 вызовов каждая, один из которых в каждой транзакции конфликтный, и синхронизацию данных между различными узлами распределенной БД необходимо затратить 2 ч. 2 мин. 30 сек. Наиболее критичными факторами с точки зрения производительности являются следующие: – время обработки действий администратора в OEM, формирования соответствующих SQL-запросов к интересующей БД, преобразования полученного результата из БД, а также предоставления обработанных данных непосредственно администратору определяется не только быстродействием платформы, но и эффективностью интерпретации байт-кода; – в силу большого объема данных, полученных из БД, и ограниченности ресурсов рабочего места администратора их оперативная обработка в OEM посредством JVM и отображение результата в OEM иногда оказываются невозможными (приложение зависает). По причине постоянного роста промышленных БД подобные ситуации довольно часты, но крайне нежелательны, особенно при разборе конфликтных транзакций и синхронизации данных между различными узлами распределенной БД; – получение старых, текущих и новых значений изменяемых объектов БД при разборе вызовов в конфликтных транзакциях происходит посредством выполнения соответствующих функций и процедур из системных dbms-пакетов: dbms_defer_query.get_arg_form; dbms_defer_query.get_datatype_arg; dbms_defer_query.get_arg_type. При большом количестве конфликтных транзакций с большим количеством вызовов в каждой из них серверу БД требуется больше времени на обработку данных, что не позволяет оперативно получить информацию, необходимую для анализа и принятия решения по разрешению конфликтных транзакций, тем самым синхронизировать данные между различными узлами распределенной БД. Описанные выше проблемы, свойственные OEM, устраняются при использовании утилиты ErrManager, разработанной автором в среде Embarcadero Delphi. ErrManager получает необходимые данные из БД путем SQL-запросов. Время получения данных ограничено только загруженностью БД и связью между клиентской машиной и сервером БД, а разбор конфликтной транзакции осуществляется на стороне клиента с существенно меньшим, в отличие от OEM, использованием ресурсов сервера БД. Временные затраты обработки конфликтных транзакций в ErrManager оценивались путем 111 Программные продукты и системы № 2, 2012 г. Начало Поиск конфликтной транзакции в таблице system.def$_aqerror (1,5 сек.) Разбор каждого вызова (от 1 от 20) в транзакции Конец Вызовы функций dbms_defer_query: get_arg_type() get_arg_form() get_datatype_arg() Определение типов аргументов вызова, набора символов для аргументов вызова, значения аргументов в вызове (1,5 сек. для 1 арг.) Значение найдено RAISE NO_DATA_FOUND Вывод «-Binary Value» Нет Да Вывод значения, существующего в БД до изменения пользователем (0,5 сек.) Поиск измененного значения Значение найдено Нет Да Разбор каждого аргумента в вызове (от 1 до 7) Определение типа аргумента объекта и набора символов для аргумента объекта, значения аргумента объекта в вызове (1,5 сек. для 1 арг.) Значение найдено Нет Вызовы функций dbms_defer_query: get_arg_type() get_arg_form() get_datatype_arg() RAISE NO_DATA_FOUND Вывод «-Binary Value-» Да Вывод значения, существующего в БД до изменения пользователем (0,5 сек.) Поиск измененного значения Значение найдено Нет Да Рис. 1. Блок-схема разбора вызовов в OEM с временной оценкой включения в программный код приложения вызовов, фиксирующих текущее системное время, и выполнения на основе полученных временных меток расчетов, характеризующих время, затраченное на отдельные операции (рис. 2). Таким образом, разбор одного вызова занимает 0,025 сек., одной конфликтной транзакции – 0,5 сек. и, наконец, 20 конфликтных транзакций – 10 сек. При разрешении конфликтных транзакций средствами ПО ErrManager нет необходимости использовать иные продукты для синхронизации данных между различными узлами распределенной БД. При разборе конфликтных транзакций синхронизация может быть выполнена либо авто112 матически, либо вручную, путем генерирования программными средствами ПО ErrManager sqlскрипта и дальнейшего его выполнения. Автоматическая синхронизация данных занимает порядка 2 сек. При ручной синхронизации данных посредством генерации и выполнения sql-скриптов это время увеличивается до 10 сек. Временные оценки приведены для случая синхронизации данных по всем 20 конфликтным транзакциям. В итоге при использовании приложения ErrManager на разрешение 20 конфликтных транзакций, содержащих по 20 вызовов каждая, один из которых в каждой транзакции конфликтный, и синхронизацию данных между различными уз- Программные продукты и системы № 2, 2012 г. Начало Поиск конфликтной транзакции в таблице system.def$_aqerror (0,005 сек.) Разбор каждого вызова (от 1 до 20) в транзакции Конец Считывание значения поля USER_DATA таблицы system.def$_aqerror, массив байтов (0,005 сек.) Определение типа аргумента (первый байт из массива) (0,005 сек.) Определение количества байтов, в которых закодированы исходные/измененные данные (0,005 сек.) Определение исходного значения изменяемого аргумента (0,005 сек.) Определение модифицированного значения изменяемого аргумента (0,005 сек.) Рис. 2. Блок-схема разбора вызовов в ErrManager с временной оценкой лами распределенной БД необходимо затратить 12 сек. при автоматической синхронизации и 20 сек. при ручной. Функции, реализованные в утилите ErrManager, позволяют: – получать информацию о конфликтной транзакции и отображать информацию о состоянии данных в БД-источнике перед внесением изменения, данные, измененные пользователем, и текущие данные на БД-приемнике; – преобразовывать изменения в SQL-запрос для повтора этих действий на приемнике; – приводить запись на приемнике к такому же виду, в каком она была в источнике до внесения изменений, что позволяет разрешить конфликт путем простого повтора выполнения ошибочной транзакции; – повторять выполнение конфликтных транзакций и удалять их группами; – автоматически разрешать конфликтные транзакции указанным способом (из числа приведенных выше) и очищать очередь транзакций после выполненных действий; – отфильтровывать очередь конфликтных транзакций с разных БД при отображении в рабочей области программы; – автоматически выявлять конфликтный вызов в транзакции; – отключать репликацию на другие узлы распределенной БД при синхронизации данных; – автоматически преобразовывать SQL-запросы на вставку в запросы на изменение при уже существующей записи в БД-приемнике; – автоматически получать SQL-скрипт разрешения конфликтной транзакции и выполнять его на БД-приемнике; – формировать отчет в форме HTML по указанным конфликтным транзакциям как в форме OEM, так и в собственной форме; – вести мониторинг наличия конфликтных транзакций на указанном узле распределенной БД. В промышленных распределенных БД, как правило, количество конфликтных транзакций значительно выше. Иногда возникают транзакции с 1 000 и более вызовов, каждая из которых содержит не по одному конфликтному вызову. Такие транзакции также требуют оперативного разрешения и не терпят задержек, обусловленных применяемым ПО. Использование разработанного приложения ErrManager позволяет существенно повысить эффективность разрешения конфликтов репликации и сократить не только затраты на обслуживание промышленной БД, но и затраты, возникающие из-за простоев и отказов информационных систем предприятия. Литература 1. СУБД (рынок России). URL: http://www.tadviser.ru/index.php (дата обращения: 29.02.2012). 2. Oracle Replication. URL: http://www.oracle.com /global/ru/pdfs/tech /tg_oracle_replication.pdf (дата обращения: 29.02.2012). 3. Базилевский Е.В. Автоматизация деятельности администратора баз данных при работе с конфликтами репликаций в системах управления баз данных ORACLE // Наука и инновации ХХI века: матер. Х юбил. окр. конф. молодых ученых (26–27 нояб. 2009 г., Сургут). Сургут: ИЦ СурГУ, 2010. Т. 1. С. 21–23. 113 Программные продукты и системы № 2, 2012 г. УДК 004.051 МЕТОДЫ ВОССТАНОВЛЕНИЯ РАБОЧЕГО СОСТОЯНИЯ ПРИЛОЖЕНИЯ А.О. Удовиченко (Московский государственный университет путей сообщения, aspudovichenko@mail.ru) Предложены новые методы восстановления рабочего состояния приложения, работающего под воздействием эффекта старения ПО, которые учитывают особенности технологии виртуальных машин. Целью работы методов является восстановление сервера без потери запросов пользователей в процессе восстановления вне зависимости от источника эффекта старения ПО. Приведены результаты экспериментов, подтверждающие эффективность предложенных методов. Ключевые слова: ПО, старение, восстановление, сервер, виртуальная машина, эффективность. В результате широкого распространения информационных технологий задача обеспечения высокой готовности и производительности информационных систем (ИС) приобретает все большую актуальность. Одной из причин нарушения работы ИС является эффект старения ПО [1], который выражается в деградации производительности приложений в процессе их работы и в увеличении количества их отказов с ростом времени непрерывной работы. Примерами такого эффекта являются утечка памяти и файловых дескрипторов, накопление ошибок округления. Борьба с эффектом старения ПО заключается в снижении его негативного воздействия на работу приложения на основе методики, получившей название «восстановление рабочего состояния ПО» [1]. Ее суть состоит в регулярном переводе приложения в рабочее состояние, близкое к первоначальному, за счет проведения некой очистки, которая может включать в себя сбор мусора и повторную инициализацию внутренних структур приложения. Основные трудности восстановления рабочего состояния приложения, с одной стороны, в том, что источник эффекта старения ПО может находиться как в самом приложении, так и вне его, например, в компонентах ОС, с другой стороны, в разнообразии причин старения, например, в утечке памяти или файловых дескрипторов. В результате применения существующих методов восстановление либо имеет значительные ограничения, например, область восстановления ограничена только компонентами одного приложения, либо связано с высокими издержками, например, с остановкой приложения в процессе восстановления. Полный обзор существующих методов восстановления приведен в [2]. Кроме того, возникают сложности применения существующих методов восстановления к ИС, построенной на основе одной из популярных и перспективных технологий – технологии виртуальных машин (ВМ). Особенность подхода, реализуемого в данной технологии, – размещение нескольких серверов на одном аппаратном обес114 печении – приводит к росту зависимости эффективности их работы от аппаратного обеспечения и ПО управляющей ВМ (УВМ). В результате применение существующих методов восстановления рабочего состояния для восстановления УВМ в большинстве случаев становится неприемлемым, например, временная остановка УВМ в процессе восстановления при применении метода перезагрузки ведет к остановке всех серверов, находящихся под ее управлением. Методы, ориентированные сугубо на восстановление УВМ, разрабатывались ранее, в частности, метод, предложенный в [3], позволяет существенно снизить время остановки УВМ в процессе восстановления, однако требует внесения изменений в ее исходный код. Хороший обзор технологии ВМ приведен в работе Т. Джонса (http://www.ibm.com/developerworks/ru/ library/l-linuxvirt/index.html). ВМ представляет собой программный контейнер, в котором установлена ОС со всеми необходимыми службами и приложениями, а хост – ЭВМ, состоящую из реально существующих компонент аппаратного обеспечения с запущенной на нее платформой виртуализации. Таким образом, основным недостатком существующих методов восстановления является остановка приложения в процессе восстановления. Снижение длительности остановки достигается главным образом за счет модификации исходного кода ПО, что практически невозможно в коммерческих приложениях, а в приложениях с открытым исходным кодом может приводить к высоким затратам. По причине широкого распространения технологии ВМ и недостатков существующих методов восстановления назрела необходимость разработки иных методов, которые учитывали бы особенности новой технологии и обеспечивали восстановление вне зависимости от источника эффекта старения ПО с возможностью сохранения запросов пользователей в процессе восстановления. В данной работе предложены новые методы восстановления рабочего состояния приложения в ИС, построенной на основе технологии ВМ. Программные продукты и системы Методы восстановления рабочего состояния приложений При разработке данных методов прежде всего уделялось внимание наиболее распространенным и уязвимым с точки зрения эффекта старения ПО элементам ИС, построенной на основе технологии ВМ, от которых требуется длительное время непрерывной работы, часто по 24 часа и по 7 дней в неделю. Это: – логический сервер (объект № 1); в данном случае некоторое приложение, размещенное внутри ВМ и предоставляющее услуги пользователям через сеть; – УВМ (объект № 2), от которой зависит работа всех ВМ, находящихся под ее управлением; нарушение ее работы может приводить к нарушению работы всех ВМ, которыми она управляет. Данные объекты существенно отличаются по своей природе, в связи с чем для каждого из них разработан свой метод восстановления. Так, для восстановления объекта № 1 – метод подмены ВМ (Virtual Machine Substitution, VMS), суть которого в замене логического сервера на новый с восстановленным рабочим состоянием в процессе обслуживания пользователей. Для объекта № 2 разработан метод перезагрузки ОС УВМ с перемещением ВМ и определением схемы их размещения (Virtual Machine Monitor Rejuvenation, VMMR). Суть данного метода в освобождении УВМ от управления ВМ на время ее восстановления. № 2, 2012 г. того, как работа всех пользователей с сервером, размещенным на основной ВМ, будет завершена. 3. Заключительная конфигурация ВМ. После завершения работы пользователей с логическим сервером основной ВМ выполняется заключительное конфигурирование обеих ВМ, при котором дублирующая ВМ назначается основной и продолжает обслуживание пользователей, в то время как первая ВМ отключается для высвобождения ресурсов. Процесс переноса обслуживания пользователей организуется на уровне сети, в соответствии с чем достигается его независимость от целевого приложения. Для переноса обслуживания целесообразно использование другой логической сети. Задачи, выполняемые в рамках предложенного метода, разбиты на две группы как отдельные модули: – модуль управления процессом восстановления (модуль № 1), отвечающий за начальную и заключительную конфигурации ВМ и координацию процесса восстановления; – модуль управления процессом переноса обслуживания пользователей (модуль № 2), отвечающий за перераспределение запросов между серверами. Взаимодействие модулей, размещенных в основной и дублирующей ВМ, на этапе переноса обслуживания пользователей показано на рисунке. Метод подмены ВМ Работа метода строится на основе подмены ВМ с активным сервером на дублирующую с постепенным переносом обслуживания пользователей. Для работы метода VMS подготавливается дублирующая ВМ путем создания копии виртуального диска основной ВМ. До запуска процесса восстановления обслуживание пользователей выполняется логическим сервером, запущенным на основной ВМ, в то время как дублирующая машина находится в неактивном состоянии. Процесс восстановления включает три этапа. 1. Начальная конфигурация ВМ. На данном этапе выполняется поиск хоста с достаточным объемом ресурсов для размещения дублирующей ВМ. После этого производятся ее запуск и согласование времени начала переноса обслуживания пользователей с основной машины на дублирующую. 2. Перенос обслуживания пользователей на дублирующую ВМ, который выполняется на основе перераспределения запросов между основной и дублирующей ВМ, при этом запросы в рамках новых соединений направляются на логический сервер внутри дублирующей ВМ, а остальные – на сервер внутри основной. Этап завершается после Схема взаимодействия модулей метода восстановления VMS Метод перезагрузки ОС УВМ с перемещением ВМ и определением схемы их размещения В предлагаемом методе восстановления УВМ для снижения влияния процесса восстановления на работу гостевых ВМ используется технология горячей миграции. Данная технология обеспечивает сохранение активности ВМ на протяжении процесса ее перемещения между хостами. Она широко используется, например, в задачах распределения нагрузки между хостами. Технологию горячей миграции поддерживают все популярные платформы виртуализации. 115 Программные продукты и системы № 2, 2012 г. В данной работе технология горячей миграции используется для снижения негативного влияния процесса восстановления УВМ на работу логических серверов. Предлагаемый метод включает следующие этапы: 1) определение схемы размещения ВМ, находящихся под управлением УВМ; 2) перемещение ВМ на основе технологии горячей миграции; 3) перезапуск УВМ после перемещения всех машин; 4) возвращение ВМ на исходный хост на основе технологии горячей миграции; данный этап не является обязательным и зависит от политики управления ресурсами ИС, существующей в организации. Цель определения схемы размещения ВМ состоит в сохранении активности наибольшего количества ВМ. Для ее достижения разработан алгоритм поиска хостов, пригодных для размещения машин: 1-й этап – определение порядка размещения ВМ; 2-й этап – определение хоста для каждой ВМ. Определение порядка размещения выполняется на основе жадного алгоритма [4], который позволяет получить решение, близкое к оптимальному, за приемлемое время и практически не привносит дополнительной вычислительной нагрузки. ВМ располагаются в порядке возрастания их требований к ресурсам. При размещении ВМ обычно учитываются их требования по нескольким типам ресурсов. Таким образом, данная задача является задачей многокритериальной оптимизации. Существует несколько подходов к решению многокритериальных задач [4]. Для объединения различных типов ресурсов в данной работе выбран метод линейной свертки векторного критерия в одну функцию – обобщенный (агрегиK i рованный) критерий: Vagr = å c jV ji , где V ji – треj =1 i бование ВМ i к ресурсу типа j; Vagr – обобщенная оценка требований ВМ i к ресурсам; cj – положительное число, характеризующее относительную важность ресурса типа j. Для объединения различных типов ресурсов необходимо привести их к общей единице измерения. Такое приведение строится на основе максимального базового объема по каждому типу ресурсов среди всех хостов V jinit , где j=1, …, K. Затем выбираются такие коэффициенты zj для них, что zj* V jinit =1 000 в абсолютных безразмерных единицах. Коэффициенты относительной важности приняты одинаковыми и равны 1/K, поскольку ни одному из типов ресурсов не отдается предпочтение. После формирования последовательности перемещения ВМ для каждой из них определяется 116 хост, на котором она будет размещена. В данной работе это происходит на основе алгоритма «наилучший из подходящих» (best fit), обеспечивающего выбор хоста, объем свободных ресурсов которого более всего соответствует требованиям ВМ. Эксперименты С целью оценки разработанных методов восстановления проведена серия экспериментов. Для этого была выбрана платформа виртуализации Citrix XenServer (http://citrix.com), широко используемая как в академических кругах для выполнения исследовательских работ, так и в промышленности при построении ИТ-инфраструктуры. Тестовый стенд состоял из пяти компьютеров с установленной платформой виртуализации и двух компьютеров, из которых один – для хранения дисков ВМ, другой – для запуска, эмулирующего работу пользователей с сервером. Конфигурация ВМ: 1 процессор, 512 Мб оперативной памяти. Разработанные методы сравнивались с распространенными методами восстановления, которые не требуют модификации исходного кода приложения: – для сервера – перезапуск приложения (Restart) и перезагрузка ОС (Reboot); – для УВМ – перезагрузка ОС УВМ (Vmm Reboot, VR). Метод VMS был реализован для ОС семейства Linux на базе встроенного в ядро файрвола netfilter (http://www.netfilter.org). Netfilter является одним из основных инструментов обработки трафика в ОС Linux и обладает высокой гибкостью настройки и скоростью обработки. Метод VMMR реализован на основе программных интерфейсов, встроенных в Citrix XenServer. Тестирование методов восстановления сервера проводилось на популярном сервере приложений Apache Tomcat (http://tomcat.apache.org). При тестировании использовались характеристики webнагрузки, полученные на основе реальных данных, но скорректированные в соответствии с техникой ускорения процесса старения [5] для сокращения времени тестирования. Параметры нагрузки были следующие: время между сессиями рассчитывалось как сумма 280 мс и значения, выбранного на основе гамма-распределения с параметрами масштаба 2046,5634 и формы 0,6452; количество запросов в сессии выбиралось в соответствии с распределением Вейбула с параметрами масштаба 10,6819 и формы 0,9124, но не более 30 запросов; время (единица измерения – мс) между запросами выбиралось в соответствии с распределением Вейбула с параметрами масштаба 53,2432 и формы 0,8569; количество связных за- Программные продукты и системы № 2, 2012 г. просов определялось в соответствии с логнормальным распределением с математическим ожиданием 2,155 и среднеквадратическим отклонением 1,377, но не более 50 запросов. Тестирование методов восстановления УВМ проводилось на машине, под управлением которой находилось 3 ВМ. В качестве источника эффекта старения ПО внутри УВМ была выбрана известная проблема утечки памяти в программах на языке Perl [6]. Для исключения влияния эффекта старения Apache Tomcat сервера на результаты оценки методов восстановления УВМ вместо него был использован сервер Apache httpd (http://httpd.apache.org). Исследование httpd-сервера показало отсутствие эффекта старения ПО при заданных в тесте параметрах нагрузки. Эти параметры были такие же, как и в предшествующем эксперименте. Интенсивность вызова функции в приложении на языке Perl, ответственной за старение УВМ, составляла 100 мс. Интервал времени между восстановлениями для всех методов составлял 85 % от среднего времени работы приложения при воздействии эффекта старения ПО, что позволяет обеспечить наименьшее воздействие его на восстанавливаемое приложение. Время тестирования каждого метода составляло 4 часа. Результаты тестов приведены в таблице. Результаты тестирования набора методов восстановления Методы Критерии Сервер Restart Reboot Доля обработан97,5197 94,3205 ных запросов, % Доля потерянных 2,4803 запросов, % 5,6795 УВМ VMS VR VMMR 100 90,79 100 0 9,21 0 Общее количест1423470 1434551 1434154 1436556 1398498 во запросов Коэффициент готовности 97,5444 94,3333 сервера, % 100 90,7986 99,982 Средняя производитель96,4002 93,9635 99,594 90,5734 97,118 ность сервера, зап./сек. Из полученных результатов видно, что методы VMS и VMMR позволяют выполнять восстановление без потери запросов. Снижение коэффициента готовности при применении метода VMMR обусловлено особенностью технологии горячей миграции, приводящей к временной остановке ВМ в процессе перемещения. Однако величина остановки ВМ крайне мала, обычно составляет менее одной секунды, что не приводит к потере запросов пользователей. Эксперименты позволили обнаружить, что метод Restart не обеспечивает полное восстановление рабочего состояния приложения, а также то, что длительность восстановления данным методом возрастает по мере старения приложения. Таким образом, принимая во внимание, что разработанные методы VMS и VMMR обеспечивают восстановление вне зависимости от источника эффекта старения ПО и их применение не требует модификации исходного кода приложения, можно сделать вывод, что они лучше справляются с задачей восстановления, чем методы, с которыми проводилось сравнение. Таким обазом, в данной работе предложены новые методы восстановления рабочего состояния приложения, которые учитывают особенности технологии ВМ, удовлетворяют поставленной цели и имеют следующие основные преимущества: – возможность сохранения запросов пользователей в процессе восстановления; – восстановление вне зависимости от источника эффекта старения ПО; – отсутствие необходимости модификации исходного кода ПО; – отсутствие необходимости внесения изменений в конфигурацию ИС. Одним из направлений будущих исследований является разработка комплексной методики борьбы с эффектом старения ПО в ИС, построенной на основе технологии ВМ. Литература 1. Huang Y., Kintala C., Kolettis N., Fulton N. Software rejuvenation: Analysis, module and applications // The Proceedings of Fault-Tolerant Computing Symposium. 1995. Vol. 25, pp. 381– 390. 2. Удовиченко А.О. Проблема «старения» программного обеспечения и пути ее решения // Информатизация и связь. 2012. № 1. С. 17–20. 3. Kourai K., Chiba S. A fast rejuvenation technique for server consolidation with virtual machines // Proceeding of International Conference on Dependable Systems and Networks. 2007. Vol. 37, pp. 245–255. 4. Коган Д.И. Задачи и методы конечномерной оптимизации: учеб. пособие. Ч. 3. Динамическое программирование и дискретная многокритериальная оптимизация. Н. Новгород: НГУ, 2004. 157 с. 5. Matias R., Barbetta P., Trivedi K., Filho P. Accelerated Degradation Tests Applied to Software Aging Experiments // IEEE Transactions on Reliability. 2010. Vol. 59. № 1, pp. 102–114. 6. Мичурин А. Утечки памяти в программах на Perl // Системный администратор. № 5 (18). 2004. URL: http://samag.ru/archive/article/286 (дата обращения: 22.03.2012). 117 Программные продукты и системы № 2, 2012 г. УДК 004.94+75 ИМИТАЦИОННАЯ МОДЕЛЬ ОЦЕНКИ ЭФФЕКТИВНОСТИ МНОГОПРОЦЕССОРНОЙ ОБРАБОТКИ ДАННЫХ ДЛЯ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМИЧЕСКИХ СТРУКТУР К.В. Герценбергер (Объединенный институт ядерных исследований, г. Дубна, gertsen@jinr.ru); Е.В. Чепин, к.т.н. (Национальный исследовательский ядерный университет «МИФИ», г. Москва, Московский физико-технический институт (государственный университет), г. Долгопрудный, evchepin@gmail.com) Эффективность параллельной обработки данных напрямую зависит от алгоритма распараллеливания и типа аппаратной архитектуры. Важно, чтобы оценка прогнозируемой эффективности распараллеливания задачи для конкретной аппаратной платформы происходила на наиболее раннем этапе разработки параллельного ПО. Для этой цели была создана имитационная модель предсказания производительности планируемого программно-аппаратного комплекса для набора параллельных алгоритмических структур – алгоритмов распараллеливания. Ключевые слова: имитационная модель, параллельная алгоритмическая структура, предсказание производительности, параллельная аппаратная архитектура, параллельное ПО, распределенные вычисления. При разработке параллельного ПО одним из наиболее важных является начальный этап предсказания и оценки эффективности планируемой программно-аппаратной связки. Точный метод предсказания дает возможность проектировщику оценить производительность параллельного алгоритма до реализации, исследовать эффективность при выборе альтернативного алгоритма или изменении параметров аппаратной части, например, количества вычислительных узлов или пропускной способности сети, поможет в поиске точек, критичных для производительности, а также в определении подходящей для выбранного параллельного алгоритма аппаратной платформы. Наиболее распространенным подходом при проектировании параллельных платформ является использование экспертных мнений: специалисты в области вычислительных средств на основании имеющегося опыта осуществляют проектирование системы, обеспечивающей решение конкретной задачи или класса задач. Этот подход, безусловно, позволяет в некоторой степени оптимизировать структуру проектируемых систем, однако решения носят субъективный характер, поэтому для сложных распределенных систем полученные оценки и решения могут значительно отличаться от оптимальных показателей. При проектировании и оптимизации вычислительных систем зачастую используют моделирование, поэтому в данной статье предлагается разработанная имитационная модель (аналитическая модель представлена в [1]) параллельной обработки в соответствии с используемыми параллельными алгоритмическими структурами. Модель предназначена для оценки эффективности распараллеливания параллельными алгоритмами на кластерной архитектуре, узлы которой могут содержать несколько процессоров и иметь многоядерную архитектуру. Исходными данными для модели являются схема планируемой аппаратной платформы, параллельная алгоритмическая струк118 тура, соответствующая программной задаче, время последовательной обработки и объем обрабатываемых данных. После проведенного анализа в качестве основного результата разработанной модели выбраны характеристики эффективности распараллеливания обработки данных – коэффициенты ускорения и эффективности, масштабируемость. Основные типы параллельных алгоритмических структур Разработчики в большинстве случаев выбирают давно известные алгоритмы распараллеливания или их незначительные модификации. В связи с этим крайне актуальным и перспективным является использование для автоматизации готового, но расширяемого набора параллельных алгоритмических структур. В ходе анализа существующих алгоритмов распараллеливания был сформирован следующий набор параллельных алгоритмических структур для моделирования [2]. 1. Точечный алгоритм реализует операцию над однородным множеством величин. Функция, применяемая к элементу множества, не зависит от остальных элементов. Неперекрывающиеся сегменты данных в этом случае распределяются по процессорам и независимо обрабатываются. 2. Локальный алгоритм (функция, применяемая к элементу множества, зависит от нескольких соседних элементов) аналогичен точечному алгоритму с тем отличием, что множество данных разбивается на перекрывающиеся фрагменты [3]. 3. Редукция использует ассоциативную операцию ко всем элементам множества, сводя его к одному элементу. Алгоритм параллельной редукции заключается в распределении по процессорам неперекрывающихся сегментов данных, независимом выполнении редукции до одного элемента и в сборке результатов для редукции на управляющем процессе (потоке). Программные продукты и системы 4. Парадигма разделяй-и-властвуй осуществляет рекурсивную декомпозицию задачи на две или более подзадач того же типа, но меньшего размера с последующим комбинированием частичных результатов в конечный результат. В силу рекурсивной декомпозиции задачи распараллеливание в большинстве случаев сводится к параллельному выполнению рекурсий на разных процессорах, поэтому парадигму разделяй-и-властвуй зачастую отождествляют с параллельной рекурсивной обработкой. К этому классу можно отнести и параллельный алгоритм волновой схемы. 5. В алгоритме параллельной конвейеризации каждая ступень конвейера создается на отдельном процессоре, который производит обработку данных, полученных с предыдущей ступени конвейера. Предложенный набор содержит подходы распараллеливания как по данным, так и по задачам. Очевидно, что список не является полным, в будущем планируется его расширение новыми элементами. Стоит отметить, что, например, в области обработки изображений и сигналов он охватывает более 80 % операций. Имитационная модель предсказания производительности При прогнозировании производительности привлекательным выглядит подход, предполагающий использование имитационной модели исследуемой параллельной системы для сравнения нескольких вариантов, предложенных экспертами, или приближенных вариантов, полученных с помощью аналитических моделей. Сложность состава и алгоритмов работы реальных параллельных систем усложняет разработку их имитационных моделей и определяет целесообразность использования специализированных программных систем, ориентированных на моделирование вычислительных сетей и компонент. Такие программные системы генерируют модель сети на основе исходных данных о ее топологии и об используемых протоколах, о типах оборудования и приложений. В результате анализа для имитационного моделирования параллельного программно-аппаратного комплекса была выбрана система сетевого моделирования OMNeT++ с пакетом INET Framework. Пакет имеет готовые модели большинства стандартных сетевых протоколов, модели приложений, генераторы трафиков и различные аппаратные средства. Среда распространяется с открытым исходным кодом, что позволило доработать существующие модели. Построение имитационной модели параллельной обработки основано на том, что аппаратная схема сводится к набору вычислительных узлов, выполняющих параллельную обработку данных, хранилища данных и коммутативной среды, свя- № 2, 2012 г. зывающей вычислительные узлы между собой и с хранилищем данных. Имитационная модель программно-аппаратного комплекса обработки данных формируется из набора моделей аппаратных компонент многопроцессорной системы и их технических характеристик – вычислительного узла, коммуникационной среды, коммуникационных устройств, хранилища данных, – а также моделей передачи данных по сети и обработки на вычислительных узлах. Компонентам заданной аппаратной схемы сопоставляются модели соответствующих устройств. 1. Модель вычислительного узла (модуль ComputeNode) строится на основе существующей модели стандартного узла StandartHost. Стандартный узел состоит из следующих модулей: ppp – реализует канальный уровень; eth – сетевой адаптер Ethernet; networkLayer – отвечает за сетевой уровень (IP протоколы и др.); pingApp – отвечает за приложения, связанные с протоколом ICMP; tcp, udp – обслуживают протокол TCP и UDP; tсpApp[], udpApp[] – приложения TCP, UDP; notificationBoard – регистрирует события на узле; routingTable – модуль для хранения таблицы маршрутизации; interfaceTable – таблица интерфейсов. В начале моделирования модули обмениваются конфигурационными сообщениями для выбора скорости и режима передачи. В модели стандартного узла отсутствует имитация аппаратных ресурсов при обработке данных на вычислительных узлах, поэтому модуль StandartHost был дополнен модулем аппаратных ресурсов вычислительного узла Resource, моделирующим занятие процессорного времени в узле обработки. За основу составного модуля Resource взяты модули для моделирования систем массового обслуживания: пассивная очередь; обслуживающее устройство, в которое могут поступать сообщения от нескольких очередей; класс, пересылающий сообщения соответствующим модулям в зависимости от типа сообщения; модуль, уничтожающий все входящие сообщения и класс сообщения с характерными параметрами. Время обслуживания данных вычисляется по формуле serviceTime=ByteLength*K+Const, где serviceTime – время обслуживания, ByteLength – длина сообщения, K – коэффициент. Так как модули приложения оперируют своим классом сообщения, в них были добавлены недостающие поля. 2. Модель хранилища данных использует модель вычислительного узла ComputeNode, учитывающую соответствующие параметры носителей информации. 3. Моделям сетевого концентратора и коммутатора сопоставляется модуль EtherSwitch, управляющий соответствием между портами и адресами MAC и передающий кадры EtherFrame соответствующим портам. Обе реализации имеют 119 Программные продукты и системы фиксированную задержку обработки кадров и конечную память. 4. Модель маршрутизатора реализована модулем Router, состоящим из тех же модулей, что и стандартный узел, за исключением модулей, лежащих выше сетевого уровня. 5. Модель сетевого соединения полностью определяется существующим модулем-классом Channel. 6. Для модели многопроцессорной обработки данных в соответствии с заданной параллельной алгоритмической структурой предусмотрена модель приложения для протокола TCP, использующая базовые классы-модули TCPBasicClientApp и TCPGenericSrvApp. В соответствии с выбранной параллельной алгоритмической структурой для обработки данных формируются модели приложений вычислительных узлов с определенными характеристиками и классами сообщений, которые передаются в ходе моделирования по сети многопроцессорной системы. При добавлении новой параллельной алгоритмической структуры необходимо определить характерные для нее свойства модели приложений. Разработанная имитационная модель была реализована в проблемно-ориентированной среде визуального программирования для разработки ПО параллельной обработки данных. Основные положения этого комплекса визуального программирования сформулированы в [2]. В данной среде исходная аппаратная схема планируемого программного-аппаратного комплекса представляется в виде взаимосвязи условных графических обозначений аппаратных компонент и их характеристик, а программная схема – в виде взаимосвязи функциональных блоков, которым сопоставлены соответствующие параллельные алгоритмические структуры. Для моделирования программно-аппаратного комплекса параллельной обработки данных автоматически генерируется модель как связанный набор моделей компонент, полностью соответствующих заданной аппаратной и функциональной схеме, и сохраняется в файл с расширением ned. В соответствии с выбранным параллельным алгоритмом обработки данных формируются модели приложений вычислительных узлов с характеристиками сообщений, которые будут передаваться по сети многопроцессорной системы. Для сгенерированных файлов OMNET++ (в том числе конфигурационного файла omnet.ini) производится имитационное моделирование с получением файла характеристики, содержащего статистические данные по работе системы. Для всех времен и размеров передаваемых данных используется вероятностная характеристика с нормальным распределением и среднеквадратичным отклонением в 3 % от заданной величины. Для усреднения по120 № 2, 2012 г. лученных значений работа системы моделируется для нескольких проходов цепочки операций. В результате имитационного моделирования для оценки эффективности программно-аппаратной связки используются прежде всего следующие полученные характеристики: время параллельной обработки данных, загрузка вычислительных узлов многопроцессорной системы, очередь в каналах передачи. По полученным данным оцениваются коэффициенты ускорения и эффективности, масштабируемость, загрузка узлов многопроцессорной системы. Если обозначить P количество процессоров планируемой системы, n – объем обработанных в ходе моделирования данных, T1 – исходное время последовательного решения задачи, Tp – модельное время параллельной обработки на P процессорах, то коэффициент ускорения будет рассчитываться по формуле K p (n) = T1 (n) , а коэффициент эффективности по T p ( n) формуле E p ( n) = K p ( n) P . Масштабируемость выбранной системы оценивается по зависимости получаемого ускорения для программно-аппаратного комплекса от числа процессоров/ядер аппаратной платформы путем добавления в схему моделирования дополнительных вычислительных средств. Таким образом, результатом имитационного моделирования являются характеристики эффективности параллельного исполнения на планируемой аппаратной платформе ПО в соответствии с выбранными параллельными алгоритмическими структурами, после которого в случае неудовлетворительных характеристик проектировщиками принимается решение о корректировке параметров аппаратной платформы или алгоритмической части и о проведении нового моделирования. Подводя итоги, отметим, что разработанная имитационная модель нашла успешное применение и показала свою адекватность в ряде проектов по обработке изображений и сигналов. Например, в [4] приводится сравнение модельных и практических значений ускорения для КИХ-фильтра цифрового сигнала, соответствующего параллельной алгоритмической структуре – локальному алгоритму. КИХ-фильтр был реализован с помощью секционированной свертки, вычисленной через быстрое преобразование Фурье. В проекте для концерна «Системпром» (г. Москва) разработанное имитационное моделирование использовалось для прогнозирования эффективности параллельного выполнения алгоритма распознавания образов изображений, использующего метод SIFT (поиск локальных дескрипторов, инвариантных масштабированию) на кластерной архитектуре. Максимальное отклонение результатов имитационной модели в проектах составило 7 %. Программные продукты и системы Оценка будущей эффективности программноаппаратных комплексов позволила предсказать ускорение и масштабируемость планируемых систем, а также определить узкие места аппаратной платформы, сделать выбор оборудования до реализации, снизив тем самым риск нецелесообразных экономических затрат. Планируется разработать более подробную модель вычислительного узла, учитывающую в том числе и возможную обработку на графических процессорах, а также расширить имитационную модель новыми параллельными алгоритмическими структурами. Литература 1. Герценбергер К.В., Чепин Е.В. Аналитическая модель оценки производительности многопроцессорной обработки № 2, 2012 г. данных для набора параллельных алгоритмических структур. Бизнес-информатика // Междисциплинар. науч.-практич. журн. 2011. № 4 (18). С. 24–30. 2. Gertsenberger K.V., Chepin E.V. Using a CASE-oriented approach for parallel software development / In Proc. of the International Workshop on Computer Science and information technologies (CSIT'2008). Bashkortostan. Ufa State Aviation Technical University. 2008. Vol. 1, pp. 63–68. 3. Герценбергер К.В. Методы параллельной обработки изображений и сигналов в зависимости от локальности вычислений // Исследование, разработка и применение высоких технологий в промышленности: сб. тр. 7-й Междунар. науч.практич. конф. Т. 2. СПб: Изд-во Политех. ун-та, 2009. С. 49–50. 4. Gertsenberger K.V., Chepin E.V. Implementation parallel processing of digital signals on cluster system / In Proc. of the International Workshop on Computer Science and information technologies (CSIT'2007). Bashkortostan. Ufa State Aviation Technical University. 2007. Vol. 1, pp. 152–155. УДК 007:519.816 ТЕХНОЛОГИЯ ПОСТРОЕНИЯ ЭКСПЕРТНЫХ СИСТЕМ ДЛЯ ОПЕРАТИВНОЙ ДИАГНОСТИКИ ОБОРУДОВАНИЯ АТОМНЫХ ЭНЕРГОБЛОКОВ А.А. Башлыков, к.т.н. (Национальный исследовательский университет «МЭИ», г. Москва, bashlykovAA@mpei.ru) Рассматривается технология построения диагностических экспертных систем реального времени для оценки состояния сложных технологических объектов на примере энергоблока атомной электростанции. Выделяются и описываются две компоненты экспертных систем – для неоперативного и оперативного контуров диагностирования. Показываются принципы декомпозиции оборудования энергоблока. Описываются архитектура диагностической системы и пользовательские интерфейсы экспертов и операторов энергоблока. Ключевые слова: экспертная диагностическая система, реальное время, сложная система, атомный энергоблок, диагностическая модель, база диагностических знаний, интерфейс эксперта, интерфейс оператора, интеллектуальный интерфейс. Характерными особенностями аварий на зарубежных и отечественных АЭС являются сложность процессов их развития и непредсказуемость. Анализ тяжелых аварий на ядерных энергетических установках [1–4], происшедших главным образом из-за нечетких и ошибочных действий оперативного персонала станций, позволил сделать парадоксальный, на первый взгляд, вывод: именно человек обладает теми ресурсами, активное использование которых в будущем поможет предотвращать аварии. Однако человеческие возможности имеют предел. Наивысшая пропускная способность ЛПР при обработке информации – 44 бит/с. В стрессовых ситуациях она может снизиться до 0,5 бит/с [2]. К тому же требование активного участия оперативного персонала в управлении переходными процессами несовместимо с традиционным проектированием операторских АЭС (избыточное количество измерительных приборов, сигнализаторов и органов управления, расположенных на больших площадях), первоначальное предназначение которых – непосредственное управление, а не решение стратегических задач. И все же при рассмотрении проблем управления такими сложными системами, как АЭС (когда речь идет о «размытом» управлении технологическими процессами), становится очевидным, что человек-оператор может управлять сложным процессом более эффективно, чем автоматическая система. Даже при максимальной насыщенности современной АЭС средствами автоматики оценка критических ситуаций ложится на операторов, которые анализируют обстановку и принимают решения, руководствуясь опытом и эвристической логикой. Если же оператор испытывает при этом трудности, то их можно объяснить недостаточной скоростью или несовершенным способом представления информации либо отсутствием анализа, необходимого для принятия соответствующих си121 Программные продукты и системы № 2, 2012 г. Рис. 1. Архитектура средств ДИЭКС Технология ДИЭКС [5] базируется на понятиях общего поля данных и знаний об объекте диагностирования и инструментальных средствах неоперативного контура, предназначенных для создания и верификации БД, БЗ и операторского интерфейса, а также оперативного контура, предназначенных для решения задач интеллектуальной информационной диагностической поддержки человека-оператора в реальном времени (рис. 1). БД подразделяются на оперативные, содержащие измеренные переменные, характеризующие текущее состояние объектов диагностики, и нормативные, включающие нормативное описание состояния технологического оборудования энер122 Технологические установки Технологические системы Технологические подсистемы Диагностические экспертные модели технологических установок Диагностические экспертные модели технологических систем Диагностические экспертные модели технологических подсистем Процесс диагностики состояния сложного объекта Архитектура средств технологии ДИЭКС гоблока АЭС для различных технологических режимов. БЗ реализуются моделью семиотического типа и подразделяются на неоперативные, содержащие текстовые описания диагностических моделей знаний для каждого диагностируемого элемента оборудования, и оперативные, в которые входят бинарные диагностические модели знаний для оперативной диагностики элементов оборудования. БЗ представляют собой иерархию моделей знаний, соответствующую иерархии оборудования в конкретном энергоблоке АЭС (рис. 2). Иерархическая структура сложного объекта контроля и управления туации решений. Проблему помогут решить – усовершенствование формы и содержания процедур, выполняемых оператором при нормальной эксплуатации, в аварийной ситуации и после аварии; – обеспечение операторов соответствующим образом обработанной обобщенной и исчерпывающей информацией, например диагностической. Разработанная технология построения диагностических экспертных систем (ДИЭКС) ориентирована на создание средств диагностической информационной поддержки человека-оператора и позволяет строить системы оперативной диагностики в составе действующих или вновь проектируемых АСУ ТП энергоблоков АЭС. Рис. 2. Иерархия диагностируемых компонент энергоблока и их экспертных моделей Под технологическими установками в данном случае понимаются реакторная установка, турбоустановка; под технологическими системами – главный циркуляционный насос, генератор; под Программные продукты и системы подсистемами – насосно-теплообменная установка систем управления защит и т.д. Переход от БЗ первого типа к БЗ второго реализуется в неоперативном контуре транслятором текстовых БЗ. Верификация оттранслированных моделей диагностики проводится в унифицированном решателе задач неоперативного контура. Оперативная обработка диагностических моделей производится в унифицированном решателе задач диагностики оперативного контура (рис. 3). Рис. 3. Виды задач диагностики Особенностью диагностических моделей является то, что первым слоем обработки данных штатной системы измерений всегда является проверка правильности работы датчиков и только после нее диагностика состояния конкретного объекта. Накопленный опыт применения ДИЭКС на Игналинской, Калининской, Нововоронежской, Билибинской АЭС и Черепетской ТЭС показал, что при диагностике состояния технологического оборудования для представления знаний достаточно использовать продукционные правила специального вида. Например, для насосной технологической установки систем управления защит (НТУ СУЗ) реактора РБМК-1500 справедливы следующие утверждения эксперта: при снижении расхода воды (датчик ТК50F01) и ее давления (датчик TK50P01) при охлаждении каналов СУЗ необходимо проверить работу насосов (по амперметрам TK21-24X01 и давлениям на напоре ТК21-24P01). При обнаружении отключения насосов можно установить адекватный возникшей аномальной ситуации диагноз. Фрагмент диагностических правил эксперт- № 2, 2012 г. ной модели НТУ СУЗ имеет вид А1А: ТК50F01< & TK50P01<,B1A,A1B A1B: TK21X01< & TK21P01< & TK22X01< & TK22P01<,A1F,A1C A1C: TK23X01< & TK23P01< & TK24X01< & TK24P01<,A1F,A1D A1D: ″обесточивание НТУ СУЗ″, где А1А – метка узла; В1А, А1В – переходы на метки следующих узлов семантической сети по нулевому и единичному результатам логической операции соответственно; символ < означает выход значения параметра за нижнюю границу допустимых значений, а символ > выход за верхнюю границу допустимых значений. Путь по семантической сети правил, ведущий к диагнозу, определяется единичными результатами, записанными в узлах логических операций: А1А–А1В–А1С–А1Д – вывод сообщения «обесточивание НТУ СУЗ». Данные правила создаются экспертами-специалистами в области конкретных технологических компонент оборудования энергоблока, затем транслируются средствами ДИЭКС, верифицируются и из неоперативного контура передаются в базы диагностических знаний оперативного контура управления. На рисунке 4 показан общий алгоритм функционирования ДИЭКС реального времени. Принципы построения пользовательского интерфейса с экспертами Основными принципами такого построения при передаче знаний от эксперта к ДИЭКС в виде диагностических моделей знаний и БД являются – принцип одного окна при конструировании моделей знаний и данных; – принцип все в одном инструменте – от построения моделей знаний и данных до верификации и валидации моделей знаний и данных. Средства конструирования БЗ в первую очередь содержат средства редактирования правил БЗ: это могут быть средства редактирования как текстовой, так и графической информации. Формирование БЗ с помощью интерфейса взаимодействия с экспертами (рис. 5) существенно упрощает работу последних. Для редактирования различных правил экспертной модели диагностики предусмотрено большое количество функций. Каждая из таких панелей имеет интерфейс для редактирования соответствующего типа правила. 123 Программные продукты и системы № 2, 2012 г. Рис. 4. Архитектура общего алгоритма функционирования и интеллектуального операторского интерфейса ДИЭКС реального времени Принципы построения пользовательского интерфейса с человеком-оператором Основными принципами данного построения в системе ДИЭКС реального времени являются автоматизация всех видов диагностической деятельности (принцип полной автоматизации) и мини124 мизация деятельности человека-оператора (принцип прямопоказывающего прибора). Интерфейс ДИЭКС приведен на рисунке 6. Технология ДИЭКС апробирована на энергоблоках №№ 1 и 2 Игналинской и Калининской АЭС, № 5 Нововоронежской АЭС, а также на Билибинской АЭС и Черепетской ГРЭС. Программные продукты и системы № 2, 2012 г. Динамический стек технологических систем (ТС) в нештатном состоянии ДИЭКС - Конструктор диагностических баз знаний База знаний Источник данных Аналоговые переменные Функции арифметики Текст модели Модель знаний Трансляция Режим Дискретные переменные Диагнозы A1B: TK21X01< & TK21P01< & TK22X01< & TK22P01<,A1F,A1C A1C: TK23X01< & TK23P01< & TK24X01< & TK24P01<,A1F,A1D A1D: “обесточивание НТУ СУЗ” Функции логики Имя ТС, дата, время ......... Имя ТС, дата, время Имя вызванной ТС, дата, время возникновения нештатной ситуации Управляющие рекомендации А1А: ТК50F01< & TK50P01<,B1A,A1B Функции математики Имя ТС, дата, время Описание нештатной ситуации в вызванной ТС и время возникновения нештатной ситуации Диагноз – найденная причина возникновения нештатной ситуации, возникшей в вызванной ТС Прогноз последствий от возникшей нештатной ситуации в ТС Рекомендуемые управляющие решения – команды управления Сообщения транслятора диагностических баз знаний Рис. 5. Пользовательский интерфейс конструктора диагностических БЗ Рассмотренная в статье технология ДИЭКС позволяет строить экспертные системы диагностики основного оборудования ТЭС и АЭС, работающих в реальном времени. Технология ДИЭКС включена в технологию построения систем интеллектуальной поддержки операторов СПРИНТ [5], которые иногда называют системами верхнего блочного уровня АЭС. Литература 1. Смутнев В.И., Ревин А.В., Ефрюшкин В.А. Оператор в системе управления АЭС и необходимость оптимизации ин- Рис. 6. Диагностический интерфейс оператора энергоблока формационного обеспечения его деятельности // Электрические станции. 1986. № 5. 2. Информационно-управляющие человеко-машинные системы: Исследование, проектирование, испытания: справочник; [под общ. ред. А.И. Губинского, В.Г. Евграфова]. М.: Машиностроение, 1993. 528 с. 3. Аварии и инциденты на атомных электростанциях: учеб. пособие для вузов. Обнинск: ОИАЭ, 1992. 4. Информация об аварии на Чернобыльской АЭС и ее последствиях, подготовленная для МАГАТЭ // Атомная энергия. 1986. Т. 61. Вып. 5. С. 301. 5. Интеллектуальные системы поддержки принятия решений в нештатных ситуациях с использованием информации о состоянии природной среды / А.А. Башлыков [и др.]. М.: Эдиториал УРСС, 2001. 303 с. УДК 004.853 ЭЛЕКТРОННОЕ ОБУЧЕНИЕ СПЕЦИАЛИСТОВ В СИСТЕМАХ ПОВЫШЕНИЯ КВАЛИФИКАЦИИ В.Н. Кустов, д.т.н. (Удостоверяющий центр Газинформсервис, г. Санкт-Петербург, Kustov-V@gaz-is.ru); Р.Г. Гильванов, к.в.н.; И.В. Новожилова, к.т.н. (Газинформсервис, г. Санкт-Петербург, Gilvanov-R@gaz-is.ru, Novojilova_I@gaz-is.ru) Рассмотрены ключевые вопросы организации электронного обучения и использования дистанционных образовательных технологий в системе профессиональной подготовки и повышения квалификации специалистов в области комплексной и информационной безопасности. Ключевые слова: система дистанционного обучения, программно-аппаратный комплекс, электронное обучение, дистанционные образовательные технологии. В условиях развития современных технологий все более актуальным становится комплексное обеспечение безопасности критически важных производственных систем и объектов. В первую очередь, это относится к объектам электроэнергетики, национальной транспортной системы, топливной промышленности, являющейся базой для развития российской экономики. Эффективное решение проблем комплексного обеспечения безопасности производственных систем и объектов требует профессионального кадрового обеспечения, то есть регулярной подготовки, переподготовки и повышения квалификации необходимого числа специалистов самых различных уровней и профилей, обладающих соответствующим объемом актуальных знаний. Повышение квалификации и развитие персонала предприятия или организации должны вестись по нескольким направ125 Программные продукты и системы лениям, ориентированным на разные категории специалистов (руководителей подразделений, аналитиков, инженеров, администраторов и т.д.). Для обеспечения эффективного процесса обучения на рабочем месте актуальным направлением является применение дистанционных образовательных технологий (ДОТ), правила использования которых устанавливаются приказом Минобрнауки РФ от 6 мая 2005 г. № 137 «Об использовании дистанционных образовательных технологий». В феврале 2012 г. был принят Федеральный закон «О внесении изменений в Закон Российской Федерации «Об образовании» в части применения электронного обучения, дистанционных образовательных технологий. В данном законе ДОТ трактуются как образовательные технологии, реализуемые в основном с применением информационных и телекоммуникационных сетей при опосредованном (на расстоянии) взаимодействии обучающихся и педагогов. Под электронным обучением понимается организация образовательного процесса с применением содержащейся в БД и используемой при реализации образовательных программ информации и обеспечивающих ее обработку информационных технологий, технических средств, а также информационно-телекоммуникационных сетей, позволяющих передавать по линиям связи указанную информацию, а также взаимодействовать участникам образовательного процесса. Эффективность использования электронного обучения для повышения квалификации специалистов в целях ликвидации разрыва между существующим и требуемым уровнями их профессиональной подготовки и реализуемых компетенций обусловлена такими факторами, как – наличие учебных программ дистанционных курсов с различными сроками обучения, доступных для каждого обучаемого независимо от его местонахождения; – обучение по индивидуальному графику; – формирование любого количества групп обучаемых; – составление отчетов работодателю о процессе обучения направленного им сотрудника; – наличие системы контроля знаний обучаемых (самотестирования, контрольного и итогового тестирования); – наличие электронной библиотеки; – экономия временных и финансовых затрат. Основные вопросы организации электронного обучения Для реализации образовательных программ в форме электронного обучения или с применением ДОТ должны быть предоставлены возможности для функционирования электронной информационно-образовательной среды, включающей в себя 126 № 2, 2012 г. электронные информационные и образовательные ресурсы, совокупность информационных и телекоммуникационных технологий, соответствующих технологических средств и обеспечивающей освоение обучающимися независимо от их местонахождения образовательных программ в полном объеме. Рассмотрим порядок организации дистанционного обучения в системе профессиональной подготовки и повышения квалификации специалистов службы корпоративной защиты Газпрома. Повышение квалификации и обучение специалистов в области комплексной и информационной безопасности осуществляются в Центре дистанционного обучения (ЦДО), развернутом на базе «Центра предпринимательских рисков» (г. СанктПетербург). ЦДО – это совокупность программнотехнических средств, организационных мероприятий и людских ресурсов, обеспечивающих электронное обучение. Полный цикл электронного обучения, показанный на рисунке 1, включает следующие этапы: создание учебных курсов и сценариев обучения; подготовка упражнений и тестов, учебных материалов в различной форме (публикация курса); составление и модификация расписания, синхронизированного по времени между участниками учебного процесса; реализация сценариев обучения; мониторинг и сбор статистики в процессе обучения; анализ результатов учебной деятельности и подготовка различных видов отчетов. В состав программно-технических средств ЦДО входят программно-аппаратный комплекс, включающий в себя аппаратные средства, ПО и методическое обеспечение. ПО программно-аппаратного комплекса ЦДО включает систему дистанционного обучения (eLearning 3000), платформу для организации полного цикла дистанционного обучения (eLearning Server) и конструктор разработки электронных курсов (eAuthor CBT). Посредством системы дистанционного обучения осуществляются управление электронным обучением, подготовка учебных курсов и программ обучения, тестирование знаний, отработка практических умений и навыков слушателей, оценка и анализ результатов обучения, управление библиотекой учебных материалов. Основной формой проведения занятий при электронном обучении является самостоятельная работа слушателей по изучению программы дистанционного курса с помощью электронного учебного пособия, основная часть которого содержит необходимый текст и графические иллюстрации в гипертекстовой форме с мультимедийным сопровождением, контрольные вопросы, промежуточные тесты для самотестирования, глоссарий. Другой, не менее важной формой проведения занятий являются консультации, где слу- Программные продукты и системы № 2, 2012 г. Рис. 1. Этапы процесса дистанционного обучения шатели дистанционно получают от преподавателя ответы на конкретные вопросы или объяснение определенных теоретических положений и аспектов их практического применения. Эффект присутствия и полноценное взаимодействие между участниками мероприятия обеспечиваются основными возможностями iWebinar для организации web-коммуникаций, такими как чаты, проведение голосований и опросов в режиме реального времени, многосторонние видео- и аудиотрансляции, виртуальные доски, демонстрации презентаций и других интерактивных материалов. Коммуникации между участниками поддерживаются через web-приложение с настраиваемым дружественным интерфейсом. Функция записи iWebinar позволяет значительно сократить время и расходы на подготовку и проведение регулярных семинаров, тренингов и других учебных мероприятий. Программно-аппаратный комплекс ЦДО ЦДО состоит из следующих подсистем, обеспечивающих функционирование технологий дистанционного обучения (рис. 2): – подсистема программно-аппаратной реализации; – подсистема администрирования, сопровождения и технической поддержки; – подсистема организационного обеспечения (учебная администрация, преподаватели); – подсистема методического обеспечения. Комплексом программно-аппаратных средств реализуются интернет-технологии дистанционного обучения, а также защита информационных ресурсов. Аппаратное обеспечение включает почтовый сервер обмена сообщениями, межсетевой экран для защиты компьютерной сети от несанкционированного доступа на основе контроля и фильтрации проходящих сетевых пакетов в соответствии с заданными правилами и сервер приложений и БД, исполняющий прикладные программы и обслуживающий БД. При организации процесса дистанционного обучения учитывается поддержка спецификации SCORM (Sharable Content Object Reference Model), позволяющей обеспечить совместимость компонентов и возможность их многократного использования, международного стандарта обмена учебными материалами AICC (Aviation Industry Computer-Based Training Committee), мультимедийной подсистемы IMS (IP Multimedia Subsystem) и модели данных LOM (Learning Object Metadata) для поддержки повторного использования учебных объектов. Программно-аппаратный комплекс ЦДО предусматривает возможность гибкого разграничения прав доступа пользователей к хранимой информации. Доступ к информации осуществляется в соответствии с политикой разграничения ролей – администратор, учебная администрация, преподаватель, слушатель. Такой подход обеспечивает защиту хранящейся и обрабатываемой информации. При необходимости могут быть реализованы усиленная аутентификация и криптографическая защита информации для доступа к информационным ресурсам ограниченного использования. Ключевым элементом ЦДО является подсистема организационного обеспечения технологий дистанционного обучения, управляемая учебной администрацией, включая преподавателей. Данная подсистема обеспечивает согласованную работу всех подсистем ЦДО, связи центра со смежными организациями, управление персоналом ЦДО и регламентирование процесса обучения. Особое внимание следует уделить методическому обеспечению программно-аппаратного комплекса ЦДО, которое включает учебно-мето127 Программные продукты и системы № 2, 2012 г. Рис. 2. Структура программно-аппаратного комплекса дические и справочные материалы, упражнения, тестовые вопросы, нормативные документы, необходимые для создания и поддержки в актуальном состоянии библиотеки электронных учебников. Структура электронного учебника Для каждого электронного учебного пособия разрабатывается комплект учебно-методических материалов, включающий учебную программу, учебный план, учебно-тематический план, предметный или тематический словарь, методические указания для слушателей по изучению и освоению учебного курса. Учебный план определяет продолжительность теоретического и практического обучения слушателей, состав и последовательность изучения курсов, формы итогового контроля и другие вопросы. Учебная программа разрабатывается по каждой дисциплине учебного плана и определяет научное содержание, методическое построение учебной дисциплины, наименования и основные вопросы разделов и тем, а также распределение учебного времени. Электронный учебник – это самостоятельное учебное электронное пособие комплексного назначения, которое обеспечивает непрерывность и полноту дидактического цикла процесса обучения 128 и информационно-поисковую деятельность. Электронный учебник содержит теоретический и практический материалы в соответствии с учебной программой дисциплины с использованием элементов мультимедиатехнологий. Для организации обучения компанией «Газинформсервис» разработано, апробировано и внедрено 20 комплектов учебно-методических материалов по вопросам комплексной и информационной безопасности, а также по правилам эксплуатации и технического обслуживания инженерно-технических средств охраны (ИТСО). Например, электронный учебник «Классификатор инженерно-технических средств охраны» (Свид. об офиц. регистр. прогр. для ЭВМ 2010614253, авторы: Р.Г. Гильванов, Г.В. Кузнецова, Е.С. Федорец, Н.В. Финогенова, И.В. Новожилова) позволяет осуществлять рациональный выбор комплексов ИТСО для обеспечения надежной защиты объектов от преступных посягательств, проводить сравнительный анализ функциональных возможностей, принципов действия и тактико-технических характеристик комплексов ИТСО и т.д. Особенностями классификатора являются интуитивно понятная навигация по разделам и параграфам, представление материала в удобной для изучения и запоминания эргономичной структурированной форме. Программные продукты и системы № 2, 2012 г. темах и разделах электронного курса, где были допущены ошибки. После самотестирования осуществляются контрольное тестирование слушателей по отдельным разделам электронного курса и итоговое тестирование по курсу в целом. Полученные результаты анализируются преподавателем и системным администратором и записываются в зачетную книжку. Используемое ПО позволяет создавать отчеты по процессу обучения слушателей, доступные для руководителей, направивших сотрудников на обучение. Контроль посещения слушателем учебного портала и ознакомления с учебными материалами дистанционного курса, с результатами тестирования проводится преподавателем и администратором ежедневно. По окончании дистанционного обучения и по результатам аттестации (успешного итогового тестирования) слушателям Рис. 3. Пример интерактивной схемы выдается свидетельство о повышении квалификации или Для объяснения теоретических положений испрофессиональной переподготовке по соответстпользована анимационная графика. Включение в вующей учебной программе [2]. состав электронного учебника видеофрагментов В заключение следует отметить, что рассмотдля демонстрации базовых правил обеспечения ренная методология ДОТ позволяет эффективно безопасности, а также правил функционирования осуществлять процесс электронного обучения и работы охранного оборудования является эфспециалистов в системах повышения квалификафективным средством для первичного знакомства ции и решать ряд локальных задач современных с предметом изучения. Для активизации и акценпредприятий и организаций: минимизация затрат тирования внимания слушателей на отдельные на подбор, обучение и развитие персонала, высомоменты излагаемого материала используется сокий коэффициент возврата инвестиций от проекта ответствующее аудиосопровождение. по внедрению электронного обучения; возможМультимедийные технологии являются исность обучения сотрудников территориально расключительно наглядными и доступными благодапределенных филиалов, создание собственной баря интерактивности, гибкости и интеграции раззы знаний компании, управление компетенциями личных типов информации, а также возможности и знаниями сотрудников; автоматизация сложных учитывать индивидуальные особенности обучаерутинных кадровых процессов, связанных с подмых и способствовать повышению их мотивации. бором, обучением, аттестацией и контролем за уровнем компетенций сотрудников. Грамотное и Система контроля знаний рациональное применение ДОТ эффективно решает задачи развития, мотивации и мониторинга Все электронные курсы имеют трехуровневую персонала современных предприятий и организасистему контроля знаний (самотестирование, конций. трольное тестирование по разделам и итоговое тестирование по материалам электронного курса). Литература Различные виды тестовых заданий используются в 1. Гильванов Р.Г., Кузнецова Г.В., Новожилова И.В. Эфэлектронных курсах для тренинга и самоконтроля фективность использования дистанционных образовательных слушателей в процессе обучения, а также контротехнологий в системах корпоративного обучения специалистов ля качества изучения учебного материала. Самовопросам комплексной и информационной безопасности // Вестн. НОУ «ОНУТЦ ОАО «Газпром». 2011. № 2 (10). контроль является первичной формой контроля С. 33–37. знаний слушателей по изучаемой теме. Для его 2. Гильванов Р.Г., Кустов В.Н. Опыт организации дистанобеспечения разработана система тестирования ционного обучения для профессиональной переподготовки и знаний, позволяющая не только оценивать знания, повышения квалификации специалистов службы безопасности газовой отрасли // Безопасность. 2007. № 3 (9). С. 40–45. но и предоставлять слушателям информацию о В качестве наглядного примера электронного учебника следует привести интерактивную схему [1], имитирующую интегрированный комплекс безопасности объекта, с помощью которой обучаемый имеет возможность более подробно ознакомиться с каждым элементом защиты комплекса (рис. 3). 129 Программные продукты и системы № 2, 2012 г. УДК 004.4 (0.51)–027 ЮРИДИЧЕСКИ ЗНАЧИМОЕ ТРАНСГРАНИЧНОЕ ЭЛЕКТРОННОЕ ВЗАИМОДЕЙСТВИЕ СТАЛО РЕАЛЬНОСТЬЮ В.Н. Кустов, д.т.н.; С.А. Кирюшкин, к.т.н. (Удостоверяющий центр Газинформсервис, г. Санкт-Петербург, Kustov-V@gaz-is.ru, Kiryushkin-S@gaz-is.ru); А.А. Большаков, к.т.н. (Газинформсервис, г. Санкт-Петербург, Bolshakov-A@gaz-is.ru); Т.Л. Станкевич (Петербургский государственный университет путей сообщения, tanjastankevich@rambler.ru) Описаны разработанный сервис DVCS, его архитектура, предоставляемые сервисом услуги, определены задачи системы и основные задачи подсистем сервиса DVCS, представлены интерфейсы пользователей, а также указано ПО, необходимое для функционирования сервиса DVCS. Ключевые слова: DVCS, трансграничное электронное взаимодействие, средства криптографической защиты информации, электронная подпись. В настоящее время наблюдается общемировая тенденция перехода на систему электронного юридически значимого документооборота. Для обеспечения безопасности такой системы традиционно применяются средства криптографической защиты информации (СКЗИ). При трансграничном электронном взаимодействии применяются национальные СКЗИ, поэтому возникают сложности в подтверждении аутентичности и целостности документа, подписанного в правовом поле иной страны. Подход, основанный на импорте и экспорте СКЗИ между странами, связан со значительными организационными трудностями, не является технологичным и не может массово использоваться. Необходимо найти решение, обеспечивающее возможность проверки электронной подписи (ЭП), цепочек сертификатов, относящихся как к одному, так и к различным доменам доверия, а следовательно – юридически значимое трансграничное электронное взаимодействие. Специалистами Газинформсервиса создан сервер проверки данных и сертификации (DVCS – Data Validation and Certification Server), основным назначением которого являются автоматизация бизнес-процесссов, связанных с подтверждением подлинности ЭП, обеспечение аутентичности и целостности электронного документа и как следствие – признание его юридической силы и достоверности, защита информации, обеспечение архивного хранения электронных документов. Сервисы валидации (проверки подлинности) DVCS реализуют модель доверия, применимую для широкого спектра прикладных задач [1]: проверка электронных документов на основании TSL (Trusted Services List), а также документов с ЭП в формате CMS (Cryptographic Message Syntax) PKCS#7 (Public Key Cryptography Standards) стандарта RFC 3852; обработка электронных документов, подписанных усовершенствованной ЭП в форматах CAdES (ETSI TS 101 733 V1.8.3 (201101)), PAdES (ETSI TS 102 778), XAdES (ETSI TS 130 101 903 V1.1.1 (2002-02)) (профили -T, -C, -X, -X-L, -A). DVCS как составная часть инфраструктуры открытых ключей (ИОК) Газинформсервиса предназначена для реализации следующих сервисов [2]: – подтверждение действительности сертификата ключа подписи, выданного доверенным Удостоверяющим центром (сервис vkpc – Validation of Public Key Certificates); – удостоверение обладания информацией в указанный момент времени с предоставлением ее сервису (сервис cpd – Certification of Possession of Data); – удостоверение обладания информацией без предоставления ее сервису (по хэш) (сервис ccpd – Certification of Claim of Possession of Data); – подтверждение ЭП электронного документа (сервис vsd – Validation of Digitally Signed Document). В соответствии с назначением и поставленными целями создания системы ее основными задачами являются: – обработка запросов конечных пользователей; – ведение БД о пользователях системы и их действиях; – контроль и разграничение прав доступа пользователей к системе; – предоставление конечному пользователю справочной информации по правилам работы с DVCS. Система DVCS рассчитана на администраторов и конечных пользователей. Конечные пользователи – это анонимные пользователи, получающие доступ к сервисам валидации DVCS на безвозмездной основе без предварительной регистрации в системе, а также клиенты – зарегистрированные пользователи, которым УЦ ГИС выданы сертификаты ЭП для подписи формируемых DVC-запросов. Администраторы – это специалисты Удостоверяющего центра Газинформсервиса, выполняю- Программные продукты и системы № 2, 2012 г. щие регистрацию новых пользователей, настройку общесистемных параметров и пользовательских профилей, контроль функционирования системы, восстановление системы после сбоев. Клиентами DVCS могут быть как юридические, так и физические лица. DVCS представляет собой распределенную систему, построенную на принципах клиентсерверной архитектуры [3] с использованием вебтехнологий корпорации Microsoft (см. рис.): – веб-сервер Microsoft Internet Information Services (IIS), осуществляющий поддержку сайта DVCS и управление подчиненными веб-сервисами; – платформа Microsoft .NET 3.5 Framework, включающая компоненту Windows Communication Foundation (WCF); серверные приложения базируются на технологии ASP.NET; – платформа Microsoft Silverlight 5 для создания приложений, позволяющая выполнять на стороне клиента функции криптографических алгоритмов, необходимые для реализации сервисов DVCS для формирования DVC-запросов, обработки полученных DVC-квитанций и т.п. Работа пользователей с системой осуществляется через веб-интерфейс, обеспечивающий доступ и навигацию по функциональным страницам сайта системы. Анонимным пользователям и администраторам для вызова бесплатных услуг и настройки сервиса DVCS требуется только веб-браузер. На ПЭВМ клиентов системы, кроме веб-браузера, должны Архитектура системы 131 Программные продукты и системы быть инсталлированы компоненты: MS Silverlight 5 и криптоядро, включающее в себя библиотеку BHCryptography и криптопровайдер КриптоПро CSP. В качестве серверной операционной системы должна использоваться MS Windows Server (Windows Server 2003 с веб-сервером IIS 6.0; Windows Server 2008 R2 с IIS 7.5). Серверная часть DVCS состоит из двух взаимосвязанных подсистем – обработки DVCS-запросов (SQP, Service Query Processing) и веб-взаимодействия с пользователями DVCS (SUI, Service user interaction), заключающегося в передаче данных в двух направлениях – от SQP к SUI и от SUI к SQP. Подсистема обработки DVCS-запросов (SQP) включает в себя такие компоненты, как серверное приложение обработки DVC-запросов, библиотека BHC и репозиторий DVCS. Подсистема осуществляет − проверку полученных DVC-запросов; − формирование квитанций на запросы услуг валидации от анонимных и зарегистрированных пользователей; − отправку DVC-квитанций для отображения; − хранение запросов и квитанций на запросы в БД заданное в настройках время; − пролонгирование квитанций на запросы. Подсистема веб-взаимодействия с пользователями DVCS включает в себя компоненты: вебсайт DVCS, серверное приложение для обработки запросов, БД (для хранения информации о профилях пользователей и журналов событий). В качестве СУБД должна использоваться СУБД Oracle 10g Release 2. Подсистема выполняет следующие задачи: − аутентификация и авторизация зарегистрированных пользователей по логину и паролю; − публичный доступ к информации о предоставляемых сервисах DVCS; − вызов бесплатных DVCS-сервисов для анонимных пользователей; − регистрация новых пользователей для получения услуг валидации на возмездной основе; − доступ и работа с личным кабинетом для зарегистрированных пользователей, включая вызов процедур выполнения DVC-запросов и выгрузку полученных DVC-квитанций; − настройка администратором параметров системы; − просмотр журналов событий и ошибок; − хранение профилей пользователей. В репозитории должны храниться DVC-запросы, квитанции на них и служебная информация, необходимая для функционирования БД. Библиотека BHCryptography реализует базовые криптографические функции клиентских и серверных приложений на основе CryptoAPI, такие как 132 № 2, 2012 г. − предоставление клиентам пользовательского интерфейса для создания усовершенствованной ЭП (УЭП); − инкапсуляция ЭП (УЭП) в документ; − проверка ЭП (УЭП); − шифрование/расшифрование; − формирование и отправка четырех типов DVCS-запросов (vkpc, cpd, ccpd, vsd); − формирование DVC-квитанции; − парсинг DVC-квитанции с выводом информации в удобном для чтения виде. ПО DVCS обеспечивает выполнение следующих функций по организации доступа и защите информации: 1) идентификация и аутентификация по логину и паролю; 2) доступ анонимных пользователей к услугам сервиса DVCS, оказываемым на безвозмездной основе; 3) доступ к сервисам DVCS на основе протокола HTTPS; 4) ограничение доступа пользователей к функциям DVCS в соответствии с ролями в DVCS (администратор системы, зарегистрированный пользователь системы, анонимный пользователь системы); 5) протоколирование событий, происходящих в системе: – запрос услуг валидации; – все действия, выполненные с использованием административных привилегий; – доступ к журналу регистрации событий; – неудачные попытки доступа в систему; – инициализация журналов регистрации событий; – создание и удаление системных объектов; – факты отключения или прерывания процесса журналирования событий; – регистрация, удаление пользователя системы; – изменение параметров профиля пользователя; – формирование и передача квитанций по каналам связи. Для входа в систему зарегистрированный пользователь должен ввести логин и пароль, анонимный пользователь может получить доступ к бесплатному сервису системы, нажав кнопку «Проверка on-line» [4]. Каждый зарегистрированный в системе пользователь привязан к своему персональному профилю, который имеет следующие характеристики: – роль пользователя; – список персональных сертификатов; – логин (уникальное значение); – пароль; – Ф.И.О; – e-mail; – контактный телефон; Программные продукты и системы – статус – действителен/недействителен; – флаг разрешения/запрета хранения квитанций на DVC-запросы в БД DVCS; – флаг разрешения/запрета автоматического пролонгирования квитанций на DVC-запросы, хранящиеся в БД DVCS. Личный кабинет зарегистрированного пользователя позволяет выполнять: 1) поиск и получение квитанций на ранее сделанный DVC-запрос в форматах CAdES, PAdES, XAdES; 2) настройку параметров профиля пользователя: – разрешение/запрет хранения DVC-квитанций в БД DVCS; – разрешение/запрет автоматического пролонгирования DVC-квитанций; – выбор криптографической системы для подписи квитанций; 3) отправку запроса в службу поддержки; 4) формирование пользователем DVC-запросов на валидацию и получение квитанций на эти запросы. Авторизованный доступ конечного пользователя к личному кабинету осуществляется по логину, паролю (функции 1–3) и сертификату (функция 4), выданному Удостоверяющим центром данному пользователю. Для входа в личный кабинет пользователь должен иметь статус пользователя сервиса DVCS. При входе в систему открывается форма с тремя закладками: «Список запросов», «Настройки», «Проверка». На закладке «Список запросов» пользователь с помощью фильтра может найти нужную квитанцию на ранее сделанный DVC-запрос и загрузить ее на локальный носитель своего АРМа. На закладке «Настройки» пользователь может настроить доступные ему параметры своего профиля. На закладке «Проверка» производятся переход на сервис по формированию пользователем DVCзапросов на валидацию и получение квитанций на эти запросы. АРМ администратора предназначен для выполнения следующих функций DVCS: – добавление, изменение и удаление профиля пользователя; – настройка системы; – просмотр и инициализация журналов событий и ошибок; – подготовка отчетов по результатам работы сервиса DVCS. На визуальной форме для администратора отображаются пять панелей с закладками: «Пользователи», «Настройки», «Журнал событий», «Журнал ошибок», «Отчеты». № 2, 2012 г. На закладке «Пользователи» администратор может управлять профилями пользователей. Для поиска пользователя на закладке предусматривается фильтр с полями: – Ф.И.О.; – период даты регистрации пользователя в системе. При добавлении пользователя в систему администратор создает новый профиль для пользователя, заполняя поля на форме. При регистрации пользователя в системе на имя пользователя, указанное в поле «Ф.И.О.», по адресу, указанному в поле «e-mail», высылается уведомление о том, что пользователь зарегистрирован в системе DVCS. При добавлении нового пользователя в параметрах профиля может быть также определен персональный сертификат пользователя. При изменении профиля пользователя администратор имеет возможность добавить в параметры профиля до 10 персональных сертификатов. Возможности взаимодействия системы с другими программными системами состоят в следующем. Для реализации услуг валидации DVCS необходимо ПО компании «КриптоПро» (КриптоПро УЦ, КриптоПро TSP, КриптоПро OCSP), которое использует отечественные алгоритмы ЭП и шифрования криптографических провайдеров в соответствии с ГОСТ Р 34.10-2001, ГОСТ Р 34.11-94 и ГОСТ 28147-89, а также ПО «БлокХост-ЭЦП» в варианте исполнения «библиотека». Для реализации на стороне клиента функционала библиотеки BHCryptography требуются загрузка и инсталляция для веб-браузера плагина Microsoft Silverlight 5. Клиентское ПО должно обеспечивать корректную работу с MS Internet Explorer версии 7.0 и выше, а также с другими распространенными веббраузерами: Mozilla Firefox (версии 3.6.26, 3.10 и выше), Google Chrome (версии 17.0.ххх и выше), Opera (версии 11.0 и выше). Таким образом, с появлением программного продукта DVCS юридически значимое трансграничное взаимодействие стало реальностью. А проблема, связанная с проверкой ЭП, цепочки сертификатов, относящихся к различным доменам доверия, ушла в прошлое. Литература 1. URL: http://notary.cryptopro.ru/ (дата обращения: 11.10.2011). 2. RFC 3029. Internet X.509 Public Key Infrastructure Data Validation and Certification Server Protocols (DVCS). 3. URL: http://www.top-cross.ru/ (дата обращения: 11.10.2011). 4. URL: https://www.webnotarius.eu/webnotariuseu/main_ ru.xml (дата обращения: 11.10.2011). 133 Программные продукты и системы № 2, 2012 г. УДК 621.643.03:658.5.011.56 АВТОМАТИЗИРОВАННАЯ СИСТЕМА УПРАВЛЕНИЯ ТРАНСПОРТИРОВКОЙ ЖИДКОЙ УГЛЕКИСЛОТЫ ПО ТРУБОПРОВОДУ С.В. Бочкарев, д.т.н.; А.И. Цаплин, д.т.н.; И.Г. Друзьякин, к.т.н. (Пермский национальный исследовательский политехнический университет, bochkarev@msa.pstu.ru, tai@pstu.ru, druzakin@msa.pstu.ru) Рассматривается технологический процесс транспортировки жидкой углекислоты по технологическому трубопроводу. Обосновывается необходимость мониторинга процесса. Предлагаются программно-аппаратные средства автоматизации контроля состояния углекислоты. Приведен вариант технической реализации информационноизмерительной системы. Ключевые слова: жидкая углекислота, транспортировка, трубопровод, автоматизированная система, контроль. Экономичное, надежное и безопасное функционирование сложных промышленных объектов транспортирования теплоносителей, испытывающих фазовые переходы, может быть обеспечено с помощью самых современных принципов и технических средств управления. Такая проблема возникает при производстве углекислотных огнетушителей. По существующей технологии их заправляют жидкой углекислотой с последующим ее испарением в закрытом баллоне и повышением давления до 6–7 МПа. На многих предприятиях процессы ожижения углекислоты и ее заправки в баллоны пространственно разделены, в связи с чем возникает необходимость транспортировки жидкой углекислоты по трубопроводу. Однако при этом возможны фазовые переходы, протекающие с изменением температуры и давления. Например, переход жидкой углекислоты, транспортируемой по трубопроводу, в газообразное состояние сопровождается ростом давления. Появляющиеся при этом напряжения приводят к деформациям в трубопроводах и их разрывам. Переход жидкой углекислоты в твердое состояние при понижении давления приводит к закупорке трубопровода. Для предотвращения фазовых переходов в процессах транспортирования жидкой углекислоты и заправки баллонов необходимо поддерживать параметры состояния – давление и температуру в диапазоне, соответствующем жидкой фазе на диаграмме состояния углекислоты, с помощью автоматизированной системы регулирования расхода. Объектом исследования является автоматизированная система контроля состояния жидкой углекислоты в технологическом трубопроводе Первоуральского новотрубного завода. При существовавшей технологии процесс заправки баллонов жидкой углекислотой осуществлялся транспортированием баллонов из цеха их производства в цех получения углекислоты для заправки и обратно для окончательного завершения технологического цикла. Такая транспортировка требовала значи134 тельных временных затрат и снижала эффективность технологического процесса. Для сокращения технологического цикла было предложено подавать углекислоту из цеха ожижения на участок раздачи ее потребителю по технологическому внутризаводскому трубопроводу длиной 632 метра. С этой целью были теоретически обоснованы техническая возможность и экономическая целесообразность перекачки углекислоты в жидком виде по трубопроводу. Исходя из физических свойств углекислоты и условий теплообмена, определены основные параметры трубопровода с теплоизоляцией из пенополиуретана «Изур-3020» толщиной 50 мм и параметры автоматизированной системы, поддерживающей стабильное термодинамическое равновесие жидкой углекислоты при ее транспортировке и раздаче. Транспортировка жидкой углекислоты по трубопроводу, проходящему по эстакаде на открытом воздухе, потребовала решить ряд вопросов, связанных со сложным поведением данного вещества при воздействии температурных условий окружающей среды. Процесс подачи жидкой углекислоты должен проходить в определенном диапазоне давления и температуры [Алтунин В.В.]. Эти два параметра однозначно определяют агрегатное состояние вещества. Поэтому для прогнозирования поведения углекислоты в трубопроводе следует обеспечить их непрерывное измерение. На диаграмме состояния углекислоты (рис. 1) этот диапазон представлен в виде трапеции 3456, ограничивающей область допустимых значений параметров состояния. АСУ транспортированием углекислоты Для поддержания параметров состояния углекислоты в заданном диапазоне разработана АСУ транспортировкой жидкой углекислоты (рис. 2). В соответствии с технологическим процессом жидкая углекислота транспортируется по трубо- Программные продукты и системы № 2, 2012 г. заданного предела (6,0 МПа) происходит перекрытие трубопровода. При подъеме давления выше 7,5 МПа происходит аварийный сброс жидкой углекислоты открытием предохранительного клапана (5). Анализ распределения давления и температуры по длине трубопровода показал, что давление достаточно измерять в начале трубопровода, значение температуры требуется определять в трех точках: в начале, середине и в конце магистрали. Рис. 1. Диаграмма фазового состояния углекислоты в координатах Исходя из требований, давление–температура (р–T) предъявляемых к измерению давления, в качестве измепроводу (8) в накопительную емкость (7). Расход рительного преобразователя выбран датчик с тенрегулируется исполнительным механизмом (1) и зопреобразователем давления, микропроцессорконтролируется расходомером (2). На трубопроной обработкой сигнала и токовым выходом. Диаводе установлены датчики давления (4) и темпепазон измерения и требуемая точность позволили ратуры (3), клапан аварийного сброса (5), запорприменить в качестве датчиков температуры медный клапан (6). Сигналы от расходомера (2), датные термометры сопротивления. Сигналы с датчиков давления (4) и температуры (3) поступают в чиков давления и температуры поступают в сисустройство связи с объектом (УСО) (9), а через тему сбора информации. него – в АРМ оператора (10). УСО преобразует Результаты измерений параметров состояния в измеряемые параметры в унифицированные элекреальном времени выводятся на экран дисплея в трические сигналы, непрерывно обрабатываемые виде светящихся точек. в АРМ. Компьютер контролирует принадлежность При приближении параметров состояния углефизических параметров состояния (давление и кислоты к границе области их допустимых значетемпературу) их значениям на диаграмме состояний выдается предупредительный сигнал для опения углекислоты, соответствующим жидкой фазе. ратора в виде световой (на экране дисплея) и звуНа основании значений давления и температуры, а ковой сигнализации. также скорости их изменения предлагаются вариДля управления процессом разработана систеанты действия оператора, который либо позволяет ма, состоящая из первичных измерительных пресистеме работать автоматически, либо берет образователей параметров состояния углекислоты управление на себя. Давление в трубопроводе (давления, температуры, технологического параподдерживается в диапазоне 6,0–7,5 МПа регуляметра), расхода и блоков управления, включаютором расхода (1), при этом температура жидкой щих микропроцессорные модули ввода и вывода, углекислоты должна быть в диапазоне 278–303 К. программируемый логический контроллер, промышленный компьютер со SCADA-системой и 10 АРМ исполнительные механизмы – отсечные клапаны. В качестве технических средств использова9 УСО лись микроконтроллеры отечественного производства – программируемый контроллер Decont-182, модули ввода и вывода комплекса DECONT фирмы ДЭП (г. Москва), функционирующие в диапазоне температур окружающей среды от –30 до +40 °C. 7 3 6 1 4 2 5 8 Информация с датчиков термосопротивлений передается цифровой системой связи на основе Рис. 2. Схема АСУ транспортировкой локальной технологической сети SYBUS с физижидкой углекислоты ческим интерфейсом RS-485. В качестве системы управления, сбора и отоКлапан (6) предназначен для предупреждения бражения информации использована SCADA-сиспадения давления при увеличении расхода у потема «InTouch» фирмы «Wonderware» (США). требителя. Во избежание падения давления ниже 135 Программные продукты и системы № 2, 2012 г. Рис. 4. Внешний вид участка трубопровода щитных боксах, разнесенных по трассе трубопровода. Система измерения работает следующим образом. Контроллер через модули ввода опрашивает датчики давления и температуры и передает данные в компьютер. Компьютер осуществляет обработку полученных данных, архивирование, вывод на экран или печать в виде таблиц и графиков и вывод технологической информации на экран монитора в виде мнемосхемы. Фрагмент трубопровода приведен на рисунке 4. Автоматизированная система реализует два круга взаимосвязанных задач: 1) диагностика параметров состояния углекислоты в трубопроводе и поддержание этих параметров в заданном диапазоне для исключения фазовых переходов жидкой углекислоты в газообразное или твердое состояние; 2) технологический учет количества вырабатываемой и отпускаемой углекислоты. Внедрение описанной в статье системы автоматического управления транспортированием, учетом и раздачей в баллоны углекислоты, поддерживаемой в жидком агрегатном состоянии, привело к повышению эффективности технологического процесса, уменьшению трудозатрат, повышению точности контроля расхода углекислоты, повышению безопасности проведения технологического процесса и стабильности его протекания. Рис. 3. Структурная схема измерительной системы Технически автоматизированная система построена по трехуровневому принципу. Нижний уровень состоит из измерительных преобразователей избыточного давления «Метран-43» с микропроцессорной обработкой сигнала и токовым выходом 4–20 мА. В качестве датчиков температуры использованы медные термометры сопротивления ТСМ 6 с характеристикой М100. Средний уровень технических средств построен на программно-техническом комплексе DECONT. Устройством управления сбором данных и их промежуточного хранения является контроллер Decont-182, который получает измерительную информацию от модулей ввода. Для ввода сигналов постоянного тока использован модуль аналогового ввода AIN8-i20, имеющий 8 входных каналов с индивидуальной гальванической развязкой. Каждый канал может настраиваться отдельно для измерения напряжения или тока. Измерение сопротивления производится модулями R3IN6-100, предназначенными для подключения термометров сопротивления по трехпроводной схеме. Модуль имеет 6 каналов для подключения термосопротивлений. Верхний уровень строится на совместимом с IBM промышленном компьютере (рис. 3). Модуль AIN8 расположен в групповом защитном шкафу на 6 модулей, установленном в цехе, модули R3IN6 размещены в индивидуальных за- Литература Алтунин В.В. Теплофизические свойства двуокиси углерода. М.: Изд-во стандартов, 1975. 546 с. • Вниманию авторов! Аннотация к статье на русском и английском языках должна быть развернутой – не менее 200 слов (машинный перевод недопустим). Новые редакционные требования на сайте журнала www.swsys.ru. 136 Программные продукты и системы № 2, 2012 г. УДК 002.681.3.016 ИНФОРМАЦИОННЫЕ МОДЕЛИ И МЕХАНИЗМЫ ПРОЦЕССА КОММЕРЦИАЛИЗАЦИИ РЕЗУЛЬТАТОВ ИННОВАЦИОННОЙ ДЕЯТЕЛЬНОСТИ А.В. Трусов, к.т.н. (Пермский национальный исследовательский политехнический университет, tav@permcnti.ru) В работе представлены информационные модели и механизмы процесса коммерциализации результатов инновационной деятельности в рамках функционирования регионального инновационно-технологического комплекса. Рассмотрены информационно-организационная модель и функциональное представление информационно-организационного обеспечения процесса коммерциализации результатов инновационной деятельности. Ключевые слова: информационно-организационная модель, управление, информационные механизмы, информационное обеспечение. Анализ нормативно-правовой базы инновационной деятельности и интеллектуальной собственности и практические наработки в области коммерциализации технологий позволили разработать информационные модели и механизмы процесса коммерциализации результатов инновационной деятельности (РИД) в рамках функционирования регионального инновационно-технологического комплекса (РИТК). Сам объект интеллектуальной собственности, являясь основным элементом коммерциализации, по своей сути очень сложен: существо – техническое, форма – юридическая, назначение – экономическое. Каждая из его составляющих требует серьезного информационного (информационно-технологическо- го, информационно-аналитического) обеспечения, которое и лежит в основе процесса коммерциализации РИД в рамках РИТК. С точки зрения коммерциализации разрозненные процессы объединяются в единый информационно-инновационный процесс, создающий отвечающие спросу производства новшества и обеспечивающий условия освоения (коммерциализации) их предприятием и потребителями (рис. 1). Информационно-организационная модель процесса коммерциализации РИД определяет порядок и методы поиска вариантов их реализации с участием субъектов коммерциализации (лицензиара (Л), промежуточного (ПЛ) и стратегического лицензиата (СЛ)). Рис. 1. Информационно-организационная модель коммерциализации РИД 137 Программные продукты и системы Модель применяется на всех стадиях жизненного цикла РИД, в том числе имеющих незавершенные этапы «Идея», «НИР», «ОКР», а также неоформленные документы по охране ключевых результатов в виде объекта интеллектуальной собственности. Модель предусматривает два этапа поиска реализации РИД: 1-й этап – доработка РИД (участие ПЛ в завершении этапов «Идея», «НИР», «ОКР» и в оформлении документов правовой охраны ключевых результатов РИД); 2-й этап – использование РИД (реализация с участием СЛ). Принцип применения схем финансирования в данном случае строится с СЛ, то есть по принципу конечной реализации РИД, на 2-м этапе. Функциональное представление системы информационно-организационного обеспечения коммерциализации РИД является сложной многокомпонентной задачей [Трусов А.В.]. Состояние управления информационно-организационным обеспечением пространства состояний S в произвольный момент t в процессе коммерциализации РИД включает в себя пять основных компонент: S1 – совокупность функций (заказов), поставленных на исполнение и ожидающих очереди (если она образовалась); S2 – использование оборудования ρA из множества рабочих мест А; S3 – привлечение персонала ρV из множества V; S4 – объем поступивших за рассматриваемый период (текущий месяц) средств Cпр(ty); S5 – объем накопившихся текущих расходов CT(ty). Компонента S1 пространства состояний S описывает поток поступающих заявок на услуги в виде упорядоченного битового поля произвольной в разумных пределах длины, рассчитанной на предельное скопление заказов, еще не поступивших на исполнение. Для компоненты S2∈S такой подход не приемлем, то есть нежелательно менять номер выполняемой услуги в процессе удовлетворения данного заказа после событий завершающего характера относительно других заказов. На компоненту S3∈S возлагается задача мониторинга распределения элементарных функций исполняемых заказов между оборудованием и персоналом. Предлагается конструкция такой компоненты в виде матрицы M=V×A, строки которой персонально закреплены за сотрудниками, столбцы – за оборудованием, участвующим в информационной поддержке. Компоненты S4, S5∈S целесообразно закрепить соответственно за приходом Спр и текущими расходами СТ, связанными с информационным обеспечением. Компоненты S n2 / n1 фиксируют основные события заявки на информационное обеспечение с жетоном n2 или номером n1 во времени. 138 № 2, 2012 г. Для того чтобы описывать и не хранить затем в памяти многие сотни модификаций функций ψ1 и ψ2, предлагается процедура их автоматического формирования по мере поступления. Для этого необходимо создать некоторую базу вспомогательных данных: – характеристики компетентности сотрудников описываются матрицей MVα=V×α, (1) где α = α1 (ω) α 2 (b) α3 ( П ) α 4 (φ, d ) α5 (d ) – (2) элементы матрицы mva ∈ (0, ∞); – характеристики трудоемкости элементарных функций описываются отображением M αtα = α × tα , (3) где tα – средние затраты времени на выполнение функций из (2); – характеристики стоимости элементарных функций описываются отображением M αCα = α × Cα , (4) область значений которого участвует в формировании функции прихода Cпрy (t ) по мере реализации функции услуг ψ либо функции текущих затрат СТ(t). В общем случае стандартное информационноаналитическое обеспечение РИД включает: α1(ω) – прием заказа с объекта ω; α2(b) – доступ к информационному ресурсу В; α3(П1) – поиск информационного объекта с признаками N по варианту сложности П1 и его аналитическая обработка; α4(ф) – перенос результата информационноаналитических работ на носитель информации ф∈Φ Φ = Μ ΒΦ (в) , (5) используя преобразователь α∈A, указанный матрицей mФb при выполнении условия (6) α5(d) – отправка выполненной услуги заказчику РИТК с использованием средства доставки d. Отсюда функция ψ опишется композицией элементарных функций ψ = α 1 (ω ) α 2 ( в ) α 3 (А 1 ) α 4 (ф ) α 5 ( d ). (7) Общее время обслуживания клиента по заказу ZII, как следует из диаграммы (рис. 2), определяется отношением ′′ − tα1 ′, tψ = tα5 (8) М ФД (ф) = d ; а чистое время tψ , характеризующее фактическую занятость сотрудников и оборудования, уравнением 5 tψ = ∑ (tα′′ − tα′ ). (9) 1 Оба показателя могут варьироваться вокруг области средних значений в зависимости от квалификации сотрудников (рис. 3) и возможных простоев ∆t, обусловленных занятостью или неис- Программные продукты и системы № 2, 2012 г. n1+1 S1 t n2 S2 t n2, ω2 S2(mυα) S n 1 ,S n t 2 n2 , α n2 , α ' α1 t '' α1 t ' α2 n2, ω2 t 'α2' = t 'α3 ∆t t t ' б5 t 'б5' t t ∆t tψ C62 (Sпр ψ) S4 '' α3 C63 t (Sт) S5 Cτψ t Рис. 2. Диаграмма преобразования пространства состояний функциональной системы при выполнении заявки правностью соответствующих компонентов технологического процесса. t′′б t′α mυα<1 t mυα=1 mυα>1 Рис. 3. Влияние характеристики m компетенции сотрудника при выполнении элементарной функции информационного обеспечения на время ее выполне- Поскольку возможности РИТК допускают одновременное обслуживание нескольких заявок (функций), перевод очередной функции ψ из предварительной очереди n1 в основную (исполнительную) n2 должен быть согласован с текущим состоянием функциональной системы, то есть подпространство Sψ⊂S следует ожидать готовым к поступлению элементарной функции α2(ψ), означающему начало фактического выполнения ψ: (10) Sψ⊆S′∩Sψ, где S′⊆S – часть пространства состояний функциональной системы, свободного от описания всех функций из списка n2. Таким образом, появляется возможность в любом потоке заявок на информационное обеспечение коммерциализации РИД в рамках РИТК поддерживать (оценивать) допустимые варианты его разрешения. Основываясь на предложенной информационно-организационной модели с ее функциональным представлением, разработка механизмов информационного обеспечения (рис. 4) представляет собой решение конкретных задач, позволяющих управлять процессом коммерциализации РИД, используя знания об особенностях внешних и внутренних факторов объекта коммерциализации. Информационное обеспечение исследования возможности разработки и реализации РИД включает определение научного и инженерно-технического потенциала (подразделений, выполняющих НИОКР), поиск научно-технической и конъюнктурной информации, опрос мнения научных и инженерно-технических работников и ис- Разработка механизмов функционирования и управления процессом коммерциализации РИД Информационноаналитическое обеспечение процессов коммерциализации РИД Информационное обеспечение исследования возможности разработки и реализации РИД Информационное обеспечение маркетинговых исследований РИД Информационное обеспечение исследования научнотехнических показателей РИД Информационное обеспечение исследования экономических показателей РИД Информационное обеспечение исследования возможностей инновационного производства Рис. 4. Механизмы информационного обеспечения процесса коммерциализации РИД 139 Программные продукты и системы следование возможности реализации инновационного проекта в рамках имеющегося потенциала предприятия (рис. 5). № 2, 2012 г. ли прибыли, относительные показатели рентабельности, финансовая устойчивость, ликвидность баланса, платежеспособность предприятия, эф- Рис. 5. Модель сбора и анализ информации о развитии РИТК К механизмам, позволяющим оценить перспективы самостоятельной реализации произведенного инновационного продукта на рынке, прежде всего следует отнести сбор и анализ информации о результатах развития РИТК. Данный механизм нацелен на анализ развития промышленного и инновационного рынка региона и определяется тремя основными типами задач: информационный мониторинг региональных проблем, подготовка альтернатив управляющих решений для соответствующих органов управления (ситуационных справок, обзоров по проблемам и подходов к их решению, прогнозов и т.п.); подготовка аналитических материалов для вышестоящих органов; формирование информационноаналитических продуктов и услуг. В рамках предлагаемого механизма производятся не только сбор первичной информации обо всех происходящих в региональной инновационной системе процессах, но и организация работ по оценке промышленного рынка региона, а также определение механизмов анализа развития промышленных предприятий и отраслей промышленности. Анализ эффективности деятельности предприятий основывается на данных стандартной бухгалтерской отчетности: абсолютные показате140 фективность использования заемного капитала, экономическая диагностика финансового состояния предприятия и рейтинговая оценка эмитентов. Оценка предприятий и отраслей промышленности проводится с учетом действия двух факторов: создание добавленной стоимости и общая эффективность производства (TFP – total factor productivity). На основании полученных результатов финансово-хозяйственной деятельности предприятий осуществляется их ранжирование. Для оценки эффективности коммерциализации результатов инновационной деятельности в рамках функционирования РИТК предлагаются следующие группы показателей. Затратные показатели: удельные затраты на НИОКР в бюджете региона, характеризующие показатель наукоемкости продукции предприятий региона; удельные затраты предприятий региона на приобретение лицензий, патентов, ноу-хау; затраты на создание инновационных фирм; наличие региональных фондов, краевых целевых программ, поддерживающих развитие инициативных разработок и реализацию региональных научнотехнических программ и проектов. Показатели, характеризующие динамику инновационного процесса на предприятиях региона: Программные продукты и системы инновационность; длительность процесса разработки нового продукта (новой технологии), подготовки производства нового продукта, а также производственного цикла нового продукта. Показатели обновляемости: количество разработок или внедрений нововведений – продуктов и процессов; обновляемость портфеля продукции на предприятиях региона; количество приобретенных (переданных) новых технологий; объем экспортируемой инновационной продукции и предоставляемых новых услуг. Структурные показатели: состав и количество научно-исследовательских и научно-технических альянсов, совместных предприятий, занятых использованием новой технологии и созданием новой продукции, а также малых инновационных предприятий; численность людей, занятых НИОКР. Показатели инновационной активности: количество поданных заявок на объекты интеллектуальной собственности, полученных патентов и свидетельств на них; количество коммерциализованных объектов интеллектуальной собственности; количество опубликованных научных исследований; полученные доходы от экспорта результатов инновационной деятельности (технологий); доля экспорта высокотехнологичной продукции (объектов интеллектуальной собственности) в общем объеме экспорта. Информационно-аналитическое обеспечение процесса коммерциализации РИД нацелено на решение аналитических задач исходя из развития промышленности региона, наличия квалифицированных персонала и управленцев, наличия инновационного потенциала (научных работников, изобретателей, лабораторий и т.п.) и социальноэкономического развития региона. Предусмотрено решение следующих основных задач: анализ развития технологий, финансово-хозяйственной деятельности предприятий, развития отраслей, развития региона. Выполнение представленных задач и функций требует большого объема достоверной оперативной информации, отработанных методов сбора и накопления первичной информации и методик ее обработки. Информационное обеспечение исследования экономических показателей РИД включает следующие аспекты: оценку региональной (бюджетно-социальной) эффективности от реализации инновационных проектов, выраженной через показатель бюджетной эффективности, то есть от превышения доходов регионального бюджета от реализации проекта над расходами, связанными с его реализацией; оценку социальной значимости проекта, то есть соотношение создаваемых и ликвидируемых рабочих мест, связанных с реализацией проекта; проработанность проекта, то есть проработанность затратной части, маркетингового плана, организационных моментов проекта. Ме- № 2, 2012 г. ханизм реализуется через опрос экспертного мнения о показателях эффективности инновационного проекта (оценка коммерческой эффективности, степени проработанности и бюджетно-социальной эффективности проекта). Для оценки эффективности инновационных проектов используются чистый недисконтированный доход, чистый дисконтированный доход, внутренняя норма доходности, потребность в дополнительном финансировании, индексы доходности затрат и инвестиций, срок окупаемости. На основе мониторинга, по данным Росстата и Роспатента, оценивается инновационная активность промышленных предприятий через – ресурсный индекс, характеризующий мощность и запас интеллектуальных ресурсов и организационных средств, материальных, финансовых и трудовых ресурсов; – структурный индекс, характеризующий структуры, стимулирующие конкурентоспособность региона (численность организаций, выполняющих НИОКР, численность учебных заведений, структура населения); – функциональный индекс, характеризующий эффективность функционирования инновационной системы с точки зрения использования ресурсов инвестиционного потенциала (результативность исследований и разработок); – динамический индекс, характеризующий тенденции и динамику изменений важнейших параметров инновационной системы. Изучаются мнения экспертов и специалистов, ведущих разработки новых образцов техники, по следующим направлениям: основные стимулы и приоритеты инновационной деятельности; проблемы, снижающие инновационную активность предприятий; факторы, препятствующие инновациям. Проводится сравнительный анализ инновационного развития промышленных предприятий: при оценке следует исходить из корреляции направлений инновационного развития промышленных предприятий с приоритетными направлениями развития отраслей региона и промышленности России, попадающих под развитие критических технологий России, а также мировых тенденций инновационного развития. Информационное обеспечение маркетинговых исследований РИД нацелено на сбор, хранение и обработку информации, предназначенной для исследования потребительского спроса на РИД (объем потребительского спроса, прирост/спад спроса, аналоги решения, глобальность товара). Проводятся исследование и прогнозирование объема реализации РИД (анализ конкурентоспособности, сильная маркетинговая ориентация – направленность нововведений на рынок и клиентов, прогноз объема реализации и минимально эффективного выпуска продукции, при141 Программные продукты и системы влекательность рынков). Исследуются и прогнозируются цены на инновационное решение (объем потребительского спроса, использование синергии), формирование исходных данных (спрос на объекты интеллектуальной собственности, объемы ее реализации и цена). Информационное обеспечение исследования возможностей инновационного производства включает исследование стратегической жизнедеятельности инновационного производства (собственники предприятия, инновационный потенциал, сотрудничество с научными организациями, поданные заявки на объекты интеллектуальной собственности, наличие зарегистрированных объектов интеллектуальной собственности). Включает исследование тактической жизнедеятельности инновационного производства (выпускаемая продукция, сведения о результатах финансово-хозяйственной деятельности за текущий период, имеющиеся технологии, используемое оборудование, доступ к финансовым и кадровым ресурсам, система контроля за ходом разработки), а также систем стимулирования производства (проблемы стимулирования, применяемая производственноэкономическая модель стимулирования, разрабатываемые механизмы стимулирования производства). № 2, 2012 г. Информационное обеспечение исследования научно-технических показателей РИД предусматривает оценку показателей обоснованности технических, технологических и художественноконструкторских решений объекта интеллектуальной собственности (новизна технических, технологических и художественно-конструкторских решений, проработанность идеи, степень обоснованности научно-технических решений и т.п.). Включает оценку конкурентных решений и сравнительную оценку показателей с существующими аналогами и научно-техническими разработками, в том числе мирового уровня. Позволяет оценивать воспроизведение (внедрение) объекта интеллектуальной собственности, риски практического применения объекта (риск воспроизводства объекта с научной, технологической и организационной точек зрения, риск внедрения объекта в производство и т.п.). В основе исследований лежит научно-техническая экспертиза РИД. Литература Трусов А.В. Функциональное представление системы информационно-аналитического обеспечения процесса коммерциализации результатов инновационной деятельности в рамках регионального инновационно-технологического комплекса / Теоретические и прикладные аспекты информационных технологий: сб. науч. тр. Пермь: ОАО «НИИУМС», 2009. Вып. 58. Т. 33. С. 20–26. УДК 004.832.32 МЕТОД ПАРАЛЛЕЛЬНОГО ЛОГИЧЕСКОГО ВЫВОДА СЛЕДСТВИЙ ДЛЯ ИСЧИСЛЕНИЯ ВЫСКАЗЫВАНИЙ Е.В. Агалаков; Д.А. Страбыкин, д.т.н.; М.Н. Томчук, к.т.н. (Вятский государственный университет, г. Киров, favt_agalakov@vyatsu.ru, strabykin@mail.ru, m.tomchuk@mail.ru) Предлагается метод получения новых фактов из текущей базы знаний на основе поступивших фактов. Приводятся содержательная и формальная постановки задачи, формальное описание процедуры вывода и описание предлагаемого метода. Работа метода иллюстрируется примером вывода следствий. Ключевые слова: логический вывод, вывод логических следствий, параллельные вычисления. Логический вывод как средство моделирования рассуждений человека представляет интерес по многим причинам. При этом в качестве формальной системы чаще всего используются исчисление высказываний, которое наиболее интересно с точки зрения простоты реализации методов вывода и скорости работы системы, и исчисление предикатов первого порядка, обладающее существенно большими описательными возможностями. Как правило, если задача может быть описана в терминах исчисления высказываний, для решения используют именно эту формальную систему. В настоящее время разработаны и применяются методы, реализующие различные виды логиче142 ского вывода, в числе которых дедуктивный вывод (проверка выводимости заключения из БЗ), абдуктивный (пополнение БЗ фактами, необходимыми для вывода заключений), индуктивный (добавление в БЗ общих правил). Но иногда, чтобы выяснить, какие факты могут быть выведены из указанных фактов при заданном наборе исходных посылок, необходим особый вывод логических следствий. Содержательная постановка задачи. В логической модели знаний все исходные посылки можно разделить на класс данных, представляющий факты возникновения тех или иных событий, явлений (признаков, действий и т.д.), и класс пра- Программные продукты и системы № 2, 2012 г. вил, задающий связи фактов между собой. Для исчисления высказываний фактами будем считать однолитеральные исходные посылки, а правилами – логические формулы, содержащие более одного литерала. При этом каждая посылка, представленная в форме дизъюнкта, должна содержать один литерал без инверсии. Содержательно задачу логического вывода следствий можно сформулировать следующим образом: при заданной базе исходных посылок для некоторого (нового) набора фактов определить множество фактов, которые будут следовать из этого набора. Формальная постановка задачи. В качестве формальной системы будет использоваться исчисление высказываний. Пусть исходная БЗ представлена множеством дизъюнктов MP={D1, D2, …, Di, …, DI}; новые факты заданы множеством литералов MF={L1, L2, …, Lp, …, LP}, а результат логического вывода – множеством литералов MR={R1, R2, …, Rl, …, RL}. Тогда формально задачу логического вывода следствий можно описать следующим образом. Требуется определить множество фактов MR, которые могут быть выведены из базы исходных посылок MP и множества новых фактов MF. Вывод следствий. Для вывода следствий текущего шага используется специальная процедура V+={MP, MF, q, p, M1, MR}, в которой MP={D1, D2, …, Di, …, DI} – множество текущих фактов и правил (множество дизъюнктов исходных посылок); MF={L1, L2, …, Lp, …, LP} – множество литералов новых фактов; q – признак наличия решения, который может принимать одно из следующих значений: 0 – получены факты-следствия, 1 – из множеств MP и MF новые факты не могут быть выведены; p – признак возможности продолжения вывода: 0 – дальнейший вывод возможен, 1 – вывод завершен; M1 – новое множество дизъюнктов исходных секвенций; MR={R1, R2, …, Rl, …, RL} – множество фактов-следствий из посылок MP и фактов MF. Процедура применима, если MP≠∅ и каждый дизъюнкт множества MP содержит хотя бы один литерал. В процедуре выполняются следующие действия. P 1. Составляется секвенция ∧L p ֏ 0 , которая p =1 далее преобразуется с использованием правила P переноса в выражение 1 ֏ ∨L p . Правая часть p =1 выражения представляет собой дизъюнкт, который обозначим буквой F. 2. Все дизъюнкты исходных секвенций делятся на дизъюнкт F, образуя остатки bi=Di÷F [Вожегов Д.В., Страбыкин Д.А.]. Если все остатки bi равны единице или содержат литералы с инверсией, дальнейший вывод невозможен, принимается q=1, p=1 и производится переход к п. 5. В противном случае выполняется п. 3. 3. Формируется множество следствий MR, в которое включаются однолитеральные остатки bi, содержащие литералы без инверсии. Устанавливается значение признака q=1. 4. Формируется новое множество исходных секвенций M1=MP–M0, где M0 – подмножество дизъюнктов множества MP, для которых выполняется условие D÷F=L, где L – любой литерал без инверсии. Если получено непустое множество, устанавливается значение признака p=0 (возможно продолжение вывода), в противном случае принимается p=1 (вывод завершен). 5. Конец процедуры. Метод логического вывода следствий. Данный метод базируется на процедуре вывода следствий и состоит из ряда шагов, на каждом из которых выполняется набор процедур вывода V+, причем результаты выполнения процедуры i-го шага становятся исходными данными для процедуры i+1-го шага. Процесс заканчивается в случае, если дальнейший вывод следствий из конъюнктов невозможен (получено значение признака q=0 или p=1). 1. Определяются начальные значения: h=1, M10=MP–Mфакт, MF1=MF+Mфакт, где Mфакт – подмножество однолитеральных дизъюнктов множества исходных посылок. 2. Выполняются процедуры вывода текущего шага V+h={M1h-1, MFh, qh, ph, M1h, MRh}. 3. Формируется новое множество фактов: MFh+1=MFh∪MRh (повторения одного и того же литерала во множество MFh+1 не включаются). 4. Проверяется признак окончания вывода: если ph=0, вывод продолжается: h увеличивается на единицу и производится переход к п. 2, иначе выполняется п. 5. 5. Формируются результаты вывода: общий h признак решения Q = ∧qh и множество следствий i =1 MR=MFh+1–MF1. 6. Строится схема вывода логических следствий: на схему помещаются вершины, содержащие номера правил из множества исходных посылок, соединенные в соответствии с суперпозицией правил в выводе. Дуги, входящие в вершины схемы, помечаются обозначениями литералов, составляющих антецедент правила. Исходящие дуги соответствуют литералам-следствиям. Можно отметить, что в каждой процедуре вывода деление дизъюнктов исходных посылок на дизъюнкт F может производиться параллельно. Пример вывода следствий. Пусть база исходных посылок задана множеством секвенций: AB ֏ C; 1 ֏ D; CD ֏ E; EV ֏ L; 1 ֏ P; L ֏ R; MP ֏ N; 1 ֏ S; R ֏ U; N ֏ V; SR ֏ X; X ֏ Z. 143 Программные продукты и системы № 2, 2012 г. Необходимо установить, какие следствия можно вывести из фактов MF={A, B, M}. 1. Определяются начальные значения: h=1, 1 M 0={ A ∨ B ∨ C , C ∨ D ∨ E, E ∨ V ∨ L, L ∨ R, M ∨ P ∨ N , R ∨ U , N ∨ V , S ∨ R ∨ X , X ∨ Z }, MF1={A, B, M, D, P, S}. 2. Выполняется процедура вывода V+1, результатами которой становятся признаки q1=0, p1=0 и множества M11={ C ∨ D ∨ E, E ∨ V ∨ L, L ∨ R, Таким образом, в результате вывода получено 9 фактов-следствий: C, N, E, V, L, R, U, X, Z. Причем следствия Z и U являются конечными, так как дальнейший вывод из них невозможен. Вывод закончился на шестом шаге с признаком Q=0. Схема вывода следствий показана на рисунке (обозначения фактов множества MF выделены курсивом). S 11 R ∨ U , N ∨ V , S ∨ R ∨ X , X ∨ Z }, M 1={C, N}. 3. Формируется новое множество фактов: MF2={A, B, M, D, P, S, C, N}. 4. Проверяется признак окончания вывода: если p1=0, вывод продолжается. Далее выполняются процедуры второго и последующих шагов. Результаты процедур вывода сведены в таблицу. Шаг Проце- Признаки ph, qh h дура 1 V+1 0, 0 2 V+2 0, 0 3 V+3 0, 0 4 V+4 0, 0 5 V+5 0, 0 6 V+6 1, 0 - - - Факты MFh A, B, M, D, P, S A, B, M, D, P, S, C, N A, B, M, D, P, S, C, N, E, V A, B, M, D, P, S, C, N, E, V, L A, B, M, D, P, S, C, N, E, V, L, R A, B, M, D, P, S, C, N, E, V, L, R, U, X A, B, M, D, P, S, C, N, E, V, L, R, U, X, Z Следствия шага MRh C, N E, V L R U, X Z - E 3 A 1 Z L 4 6 V 7 12 R С B P X R D R N 9 U 10 M В заключение можно отметить, что предложенный метод логического вывода позволяет находить следствия из заданных фактов для знаний, представленных формулами исчисления высказываний, и строить схему вывода логических следствий. Метод обладает глубоким параллелизмом, что дает возможность эффективно применять его при реализации интеллектуальных систем на современных высокопроизводительных параллельных вычислительных платформах. Литература Вожегов Д.В., Страбыкин Д.А. Метод параллельного дедуктивного логического вывода с определением фактов // Науч.-технич. вестн. Поволжья. 2011. № 1. С. 97–99. УДК 519.95 ФОРМИРОВАНИЕ ИНТЕГРАЛЬНОГО ПОКАЗАТЕЛЯ ЭФФЕКТИВНОСТИ ФУНКЦИОНИРОВАНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ С.А. Семенов, д.т.н. (концерн «ВНИИНС», г. Москва, sergeysemenov53@gmail.com); В.И. Аржаев, к.т.н. (НИИ «Центрпрограммсистем», г. Тверь, arzhaevVI@cps.tver.ru); В.С. Семенов (Военная академия ВКО, г. Тверь, Sven298@yandex.ru); С.С. Моничев (концерн «ВНИИНС», г. Москва, sergey.monichev@gmail.com) Предлагается подход к формированию интегрального показателя эффективности функционирования информационной системы с использованием ее абстрактно-алгебраической модели. Ключевые слова: система, интегральный показатель, эффективность, абстрактная модель. На начальных этапах архитектурного проектирования одним из эффективных подходов к структуризации функционального представления информационной системы является построение обобщенной модели, абстрактно отображающей основные значимые функции системы, а также их взаимосвязи. Модель информационной системы 144 позволяет создавать предпосылки для объективного анализа, формирования представления о подходах и путях ее построения, частичного снятия или разрешения неопределенности относительно облика системы, снижения рисков возникновения ошибок при выборе варианта ее построения [1]. Причем существенное значение для снижения та- Программные продукты и системы кого риска играет правильный выбор показателей и критериев ее эффективности. Как показано в [2], для сложной иерархической целенаправленной информационной системы с соответствующей совокупностью сложных свойств и обширным множеством количественных показателей решение проблемы их правильного выбора состоит в организации этого множества в агрегированную иерархическую структуру и выявлении показателя, интегрально характеризующего эффективность системы. В статье рассматривается один из возможных подходов к обоснованию подобного показателя, обладающего как физическими, так и функциональными свойствами. Под информационной системой в данном случае понимается система реального масштаба времени, состоящая из множества распределенных на местности датчиков (измерительных элементов), формирующих данные о воздушной обстановке, и иерархической структуры пунктов обработки, осуществляющих пространственно-временное объединение этих данных. Пусть система S погружена в среду С, состоящую из совокупности разнородных составляющих, основными из которых являются надсистема Sпотр, или множество разнородных потребителей информации, и внешняя среда, представленная воздушной обстановкой, воздействующей на систему энергетически и информационно. Эти воздействия в измерительных элементах системы преобразуются во входные информационные объекты X, поступают на вход информационных процессов других уровней иерархии и выдаются в качестве выходных информационных объектов Y (1) в надсистему X×{S∩Sпотр}⊂C, S⊂X×Y. Входной информационный объект для сложной системы можно представить как объединение подмножества измеримых, непосредственно наблюдаемых информационных воздействий M и воздействий, о которых имеется только косвенная информация U [3], то есть формируемая в результате преобразования непосредственно наблюдаемой информации: X=M∪U. (2) Преобразования могут осуществляться как логико-эвристическими, так и строгими математическими методами, а также их сочетанием. Причем в составе непосредственно наблюдаемых информационных воздействий имеются маскирующие и искажающие преднамеренные и непреднамеренные воздействия различной природы. Эти воздействия влияют на измерения, искажая как их результаты, так и результаты преобразований. С учетом маскирующих и искажающих воздействий В входной информационный объект можно представить в виде X=Mi∪B∪U, M=Mi∪B, (3) где Мi – непосредственно наблюдаемые неискаженные информационные воздействия. Выходной информационный объект Y формируется как результат воздействия оператора сис- № 2, 2012 г. темы R на всю совокупность поступающей на вход разнородной информации X×R=Y или R X → Y , причем R⊆S⊂Y×X, или R⊆S⊂Y×{Mi∪ ∪B∪U}. Оператор R представляет собой совокупность подмножеств алгоритмов, составляющих функционал обработки информации А, необходимых для его реализации ресурсов Р и организационнотехнических объектов системы О: R={A×P×O}. (4) Алгоритмы, составляющие функционал, обеспечивают сбор, получение полезной информации, ее накопление и преобразование в соответствующие структуры, то есть каждый из них позволяет достичь какой-то конкретной цели. Вступая в соответствующие отношения, которые в принципе определяют организованность системы, они обеспечивают достижение общей цели ее функционирования. Маскирующие и искажающие воздействия на входной информационный объект, неполное соответствие состава, возможностей и отношений алгоритмов системы конкретному состоянию воздушной обстановки приводят к формированию в этом объекте ложной и не удовлетворяющей требованиям потребителей информации BY: R →{BY ∪ Y i } . (5) {M i ∪ B∪ U } Тогда абстрактная модель информационной системы как сложной, открытой, целенаправленной гетерогенной системы выглядит следующим образом: ({{AF, RF}×P×O}:G)⊆S⊂{BY∪Yi}× ×{Mi∪B∪U}, (6) где G – общая цель функционирования; AF, RF – множества автоматизированных задач (алгоритмов), реализующих функционал системы и множество отношений между ними. Это согласуется с представлением системы как системы, состоящей из множества организационно-технических объектов О, обладающих соответствующими ресурсами Р, когда достижение общей цели G, сформированной внутри системы, сводится к решению общей задачи GF (в данном случае задачи сбора и обработки информации) и реализуется через формирование соответствующих отношений RF подмножества частных целенаправленных функций, задач, процессов, алгоритмов: G→GF={gf}, {gf}⇔AF={af}. (7) Целью информационной системы является формирование отображения, адекватного воздушной обстановке, то есть X⇔Y, что обеспечивается соответствием возможностей, состава и отношений между алгоритмами характеристикам входного информационного объекта [2]. Наличие во входном информационном объекте маскирующих и искажающих воздействий, неполное соответствие состава, возможностей и отношений между алгоритмами системы конкретному состоянию 145 Программные продукты и системы № 2, 2012 г. воздушной обстановки приводят к возникновению в системе информационных потерь и формированию неадекватного отображения. К информационным потерям относится информация, как потерянная в ходе формирования отображения, так и ложная, искаженная и не удовлетворяющая требованиям потребителей. Информационные потери, неадекватность отображения как результат функционирования являются проявлением объективно существующей неопределенности процесса отображения, связанной с совокупностью реализованных в системе средств и способов описания, преобразования и представления информации, их возможностями по обеспечению ее соответствия воздушной обстановке во всем диапазоне условий ее изменения и представления потребителю в требуемом виде. Информационными потерями удобно характеризовать степень недостижения цели функционирования системы. C учетом комбинированного характера неопределенности и доминирования при отображении в информационной системе логико-лингвистического характера ее представления [2] подмножество информационных потерь можно описать нечетким подмножеством (8) BY={by, µ(by)}, BY={X∪Y}∩ X ∩ Y . Таким образом, нечеткое подмножество BY представляет собой некую характеристику степени недостижения цели функционирования информационной системы. В соответствии с этим количественную характеристику нечеткого подмножества BY, а именно его мощность, можно использовать в качестве характеристики степени недостижения цели функционирования информационной системы. Для удобства использования подобной интегральной характеристики целесообразно рассчитывать относительную величину показателя информационных потерь: bпотерь=F(cardBY /card X). (9) Предлагаемый показатель обладает свойствами физического и функционального показателей. Он рассчитывается с использованием результатов непосредственных измерений, полученных, например, в тестовом режиме, дает возможность локализовать элементы системы, на которых происходят недопустимые потери. Отражая степень недостижения цели, этот показатель позволяет оценивать вклад информационной системы в надсистему и может использоваться в качестве обратной связи при адаптации системы к состоянию среды. Кроме того, использование сформированного на основе этого показателя критерия минимума информационных потерь позволяет вполне целенаправленно проводить проектирование информационной системы, а с помощью полученного на этапе разработки количественного значения критерия осуществлять сравнительную оценку эффективности системы в ходе применения по назначению в местах дислокации. Литература 1. Гафт М.Г. Принятие решений при многих критериях. М.: Знание, 1979. 2. Агрегирование информации о воздушной обстановке: монография / С.А. Семенов [и др.]. Тверь: ВА ВКО, 2008. 3. Месарович М., Такахара Я. Общая теория систем: математические основы. М.: Мир, 1978. УДК 004.8 ПОЛУМАРКОВСКИЕ МОДЕЛИ СИСТЕМ С НЕЧЕТКИМИ ПАРАМЕТРАМИ С.И. Глушко (АК «Транснефть», Москва); Ю.Г. Бояринов, к.т.н. (Смоленский филиал Национального исследовательского университета «МЭИ», midli@mail.ru) Рассмотрены ограничения на существующие подходы к построению и использованию нечетких полумарковских моделей для анализа процессов функционирования систем. Выделены и описаны основные классы нечетких функций, которые целесообразно использовать в качестве нечетких отображений при построении полумарковских моделей систем с нечеткими параметрами. Представлен универсальный подход к анализу нечетких полумарковских моделей как с четкими, так и с нечеткими параметрами. Ключевые слова: нечеткая полумарковская модель, нечеткие параметры, нечеткая функция, нечеткое отображение. Сложность использования полумарковских моделей для анализа характеристик нахождения системы в различных состояниях обусловлена необходимостью учета множества неопределенных факторов, объективная информация о которых часто отсутствует либо является экспертной. 146 Одним из подходов к решению этих проблем при анализе функционирования систем является использование нечетких полумарковских моделей, в которых для учета неопределенности факторов применяются различные способы введения нечеткости. Программные продукты и системы Так, выражения для оценки распределения вероятностей состояний могут дополняться функциями принадлежности времени пребывания системы в соответствующих состояниях [1]. Недостаток данного способа в том, что нечеткими параметрами являются только время пребывания системы в различных состояниях, а также сложность задания соответствующих функций принадлежности. Другой способ заключается в том, что и вероятности состояний, и время пребывания системы в соответствующих состояниях заменяются на нечеткие числа (нечеткие множества), а обычные операции – на расширенные операции над нечеткими числами. При этом для определения результатов используются нечеткие отображения, реализуемые в соответствии с одним из известных подходов (нечеткие продукции, нечеткие отношения, нечеткие функции) [2–4]. К ограничениям этого способа относятся необходимость учета достаточно жестких требований к расширенным операциям, а также сложность согласования подходов к реализации различных нечетких отображений в рамках одной задачи. В данной работе выделены и рассмотрены основные классы нечетких функций, которые целесообразно использовать в качестве нечетких отображений при построении полумарковских моделей систем с нечеткими параметрами. Примером подобных систем может служить система технического обслуживания (ТО) и ремонта оборудования для трубопроводной транспортировки нефти. Опишем подход к анализу полумарковских моделей, не зависящий от того, какие из параметров являются четкими, а какие нечеткими. Пусть поведение системы задано совокупностью состояний S={S1, …, Sn} и множеством возможных переходов. Полумарковский процесс задается с помощью матрицы F(t)=||Fij(t)||n×n условных функций распределения продолжительности пребывания в состояниях, матрицы W=||ωij||n×n переходных вероятностей вложенной марковской цепи и начального состояния процесса, из которого он стартует. Безусловные функции распределения Fi(t) определяются в соответствии с выражением n Fi (t ) = ∑ Fij (t )ωij . j =1 Среднее время пребывания системы в соответствующих состояниях находится следующим об∞ разом: mi = ∫ [1 − F (t ) ] dt. i 0 Асимптотическое поведение полумарковского процесса описывается финальным распределением вероятностей состояний вложенной марковской цепи и определяется в результате решения № 2, 2012 г. системы уравнений P=PW, P=(Р1, …, Рn) с учетом n условия нормировки ∑ Pi = 1. i =1 В стационарном режиме распределение вероятностей состояний для полумарковского процесса в целом определяется из выражения Pm πi = n i i . ∑ Pj m j j =1 Параметры данного выражения могут быть и четкими, и нечеткими; произвольное отображение f : {P1, …, Pn, m1, …, mn}→πi (i=1, …, n) может представлять собой как четкую, так и нечеткую функцию. В соответствии с этим можно выделить следующие основные классы нечетких функций, которые целесообразно использовать в качестве нечетких отображений при построении полумарковских моделей систем с нечеткими параметрами: 1) четкие функции с распространением нечеткости от независимых переменных к зависимым; 2) нечеткие функции четких переменных; 3) нечеткие функции нечетких переменных. Рассмотрим использование этих отображений применительно к задаче построения и использования полумарковских моделей систем. Четкие функции с распространением нечеткости Пусть заданы вектор входных четких параметров A=(P1, …, Pn, m1, …, mn), вектор выходных четких параметров π=(π1, …, πn), четкая функция f: A→π, а также нечеткие множества Aɶ = (Pɶ1 , ..., Pɶn , mɶ1 , ..., mɶ n ) и πɶ = (πɶ1 , ..., πɶ n ) , определенные на множествах A и π соответственно. Для простоты дальнейшего изложения заменим обозначения для вектора входных нечетких параметров на Aɶ = ( Aɶ1 , ..., Aɶn ) , заданного на базовых множествах A=(A1, …, An). Тогда функция f распространяет нечеткость от входных переменных A, характеризующихся неопределенностью (заданных нечеткими множествами Aɶ ), на выходные переменные π (путем формирования нечетких множеств πɶ ) в соответствии с принципом расширения при выполнении следующего соотношения: ∀Aɶ1 × ... × Aɶn ∈ Aɶ , πɶ i ∈ π, max µ Aɶ ×...× Aɶ ( Aɶ1 , ..., Aɶn ), 1 n Aɶ1 ×...× Aɶ n ∈ f −1 ( πi ) µ πɶ (πi ) = −1 i если f (πi ) ≠ ∅, −1 0, если f (πi ) = ∅, где декартово произведение нечетких множеств Aɶ1 × ...× Aɶn является нечетким множеством, задан147 Программные продукты и системы № 2, 2012 г. ным на множестве A1× …×An с функцией принадлежности µ Aɶ ×...× Aɶ ( A1 , ..., An ) = min[ µ Aɶ ( A1 ), ..., 1 1 n µ Aɶ ( An )]. n Нечеткие функции четких и нечетких переменных Таким образом, f (α k , Aαk ) = { f L (α k , Aαk ), f R (α k , Aαk )}. При представлении нечеткой функции с помощью композиции интервалов нечетких значений нечеткой функции для всех α-уровней fɶ ( A) = ∪ α k [ f L (α k , Aαk ), f R (α, Aαk )], αk Существуют различные способы представления нечетких функций, которые обусловливают применение соответствующих им методик расчета, например, с помощью – операций над нечеткими числами и переменными (аналогично типичному представлению четких функций); – композиции интервальных функций для всех α-уровней; – композиции интервалов нечетких значений нечеткой функции всех α-уровней. Рассмотрим особенности использования указанных способов. К ограничениям представления нечетких функций с использованием операций над нечеткими числами и переменными прежде всего стоит отнести необходимость учета достаточно жестких требований к этим операциям. При представлении нечеткой функции с помощью композиции интервальных функций для всех α-уровней (α∈[0, 1]) каждое значение, принимаемое нечеткой функцией fɶ ( A) , принадлежит интервалу, центр которого соответствует значению соответствующей четкой функции той же структуры, а радиус интервала равен длине левого (правого) растяжения данного нечеткого значения функции (при условии симметричности нечеткой функции). Поэтому при конкретном значении параметра α график нечеткой функции одной переменной представляет собой плоскую полосу (интервальную функцию), осью симметрии которой является график соответствующей четкой функции. Тогда нечеткая функция может быть представлена в виде композиции соответствующих интервальных функций для всех α-уровней: fɶ ( A) = ∪ α k f (α k , Aαk ), α k ∈ ΛA = {α1 , ..., α K }, αk f (α k , где Aα k ) = { f ( A), d L (α k , Aαk ), d R (α k , Aαk )}, f (α k , Aαk ) – интервальная функция; d L (α k , Aα k ) , d R (α k , Aαk ) – левая и правая функции отклонения от функции при заданном значении αk; ΛA={α1, α2, …, αk, …, αK} – уровневое множество. Отметим, что d L (α k , Aα k ) = f ( A) − f L (α k , Aαk ) и d R (α k , Aαk ) = f ( A) − f R (α k , Aα k ), где f L (α k , Aα k ) , f R (α k , Aαk ) – граничные функции при заданном значении α. 148 α k ∈ ΛA = {α1 , ..., α K }, где f L (α k , Aαk ), f R (α, Aαk ) – граничные функции, задающие левую и правую границы интервалов всех α-уровней нечетких значений нечеткой функции; [ f L (α k , Aαk ), f R (α, Aαk )] – интервал α-уровня нечеткого значения функции для некоторой точки многомерного пространства входных нечетких параметров; ΛA – уровневое множество. Отметим, что [ fL (αk , Aαk ), fR (α, Aαk )] ⊂ [ fL (0, AαK =0 ), fR (0, AαK =0 )], fL (1, Aα1 =1 ) = fR (1, Aα1 =1 ) = f ( A), αk ∈ ΛA = {α1, ..., αK }. Нечеткие функции нечетких переменных могут быть построены и проанализированы аналогично нечетким функциям четких переменных. При анализе нечетких полумарковских моделей для вычисления нечетких функций на основе двух последних рассмотренных способов представления применима конструктивная методика, предложенная в работе. Данная методика позволяет вычислить границы интервалов результата [ f L (α k , Aαk ), f R (α k , Aαk )], α k ∈ [0, 1] и заключается в следующем. Во-первых, задается значение αk-уровня из уровневого множества ΛA={α1, α2, …, αk, …, αK}, где 1=α1>α2>…>αk>…>αK=0. Во-вторых, для каждого αk покомпонентно задаются значения входных параметров: Aαk = A1, αk × A2, αk × ...An , α k = ⊗ Ai, α k , i =1, ..., n i, α k 1i Ai , αk = {a , ..., a i, α k ji , ..., a i, αk Ji }, ji = 1, ..., J i , i = 1, ..., n, то есть Aαk = a1,j1 αk × ...× aiji, αk ×...× anjn, αk , ∀j1 = 1, ..., J1; ...; ji = 1, ..., J i ; ...; jn = 1, ..., J n . В-третьих, для каждого значения αk-уровня из уровневого множества с учетом покомпонентного задания значений входных параметров определяются границы интервалов нечеткого значения функции [ f L (α k , Aαk ), f R (α k , Aαk )], α k ∈ [0, 1] : f L (α k , Aαk ) = f L (α k , Aαk ) = min f ( Aαk ), max f ( Aαk ). a1,j αk ×...× a ij,i αk ×...× a njn, α k ( ∀j1 =1, ..., 1 J1 , ..., ji =1, ..., J i ; ...; jn =1, ..., J n ) a1,j αk ×...× a ij,i αk ×...× a njn, α k ( ∀j1 =1, ..., 1 J1 ; ...; ji =1, ..., J i ; ...; j n =1, ..., J n ) Таким образом, при использовании данной методики не требуется учитывать ограничения, на- Программные продукты и системы кладываемые операциями над нечеткими числами и переменными. При этом реализуется единый подход к совместному анализу как четких, так и нечетких параметров в полумарковской модели системы. Применение предложенной методики в АК «Транснефть» (г. Москва) позволило повысить эффективность системы технического обслуживания и ремонта оборудования для трубопроводной транспортировки нефти за счет рационализации сроков проведения ремонтных мероприятий и выбора видов ТО. Следует отметить, что методика допускает программную реализацию, которая может использоваться как компонент ПО информа- УДК 004.032.26 № 2, 2012 г. ционных систем ТО и ремонта оборудования сложных технологических систем. Литература 1. Bhattacharyya M. Fuzzy Markovian decision process // Fuzzy Sets and Systems. 1998. Vol. 99, pp. 273–282. 2. Praba B., Sujatha R., Srikrishna S. Fuzzy reliability measures of fuzzy probabilistic semi-Markov model // Int. Journal of Recent Trend in Engineering. 2009. Vol. 2. No 2, pp. 25–29. 3. Praba B., Sujatha R., Srikrishna S. A study on homogeneous fuzzy semi-Markov model // Applied Mathematical Sciences. 2009. Vol. 3. No 50, pp. 2453–2467. 4. Метод построения нечеткой полумарковской модели функционирования сложной системы / Ю.Г. Бояринов [и др.] // Программные продукты и системы. 2010. № 3 (91). С. 26–31. ВАРИАНТЫ ПОСТРОЕНИЯ АЛГОРИТМА ПОИСКА РЕШЕНИЯ ОБРАТНЫХ ЗАДАЧ С ПРИМЕНЕНИЕМ НЕЙРОННЫХ СЕТЕЙ Д.А. Павлов; А.Ю. Пучков, к.т.н. (Смоленский филиал Национального исследовательского университета «МЭИ», putchkov63@mail.ru) Рассмотрены два варианта построения алгоритма численного решения обратных задач с помощью искусственных нейронных сетей и предварительной обработки измерений дискретным фильтром Калмана. Ключевые слова: обратные задачи, нейронные сети, фильтр Калмана. Перспективным направлением развития современных информационных технологий являются разработка и внедрение систем поддержки принятия решений. Такие системы используются в различных сферах деятельности, но особенно востребованы там, где решаемые задачи плохо структурированы и трудно формализуемы. Для решения задач подобного рода применяются методы искусственного интеллекта: продукционные модели, нечеткая логика, искусственные нейронные сети и их комбинации [1]. Все эти задачи условно можно разделить на две группы: – прямые задачи, в которых по входным данным модели процесса надо определить выходные значения используемой модели (в частности, задачи планирования, оценки альтернативных решений); – обратные задачи с известными выходными значениями модели, на основании которых проводится поиск входных данных, приводящих к появлению имеющихся выходных; с точки зрения математики обратные задачи часто являются плохо поставленными, относящимися к классу некорректных задач [2]. Расширение сферы применения систем поддержки принятия решений делает востребованным поиск новых подходов к решению обратных задач, базирующихся на увеличивающихся возможностях средств вычислительной техники. Эти возможности позволяют разрабатывать и применять новые методики, например, методы на основе искусственных нейронных сетей, ранее считавшиеся чрезмерно затратными с точки зрения машинных ресурсов. Методы решения прямых задач достаточно хорошо разработаны и изучены как соответствующие привычной постановке проблемы: есть данные на входе объекта и надо определить, что будет на его выходе, если модель объекта известна. Этого нельзя сказать про обратные задачи, методы решения которых чаще всего базируются на учете специфики предметной области. В то же время необходимость решения обратных задач (например, задач диагностики) на практике возникает достаточно часто, поэтому актуальным становится поиск новых методов и подходов к их решению. Для обратных задач характерна ситуация, когда незначительные изменения исходных данных могут приводить к произвольно большим изменениям решений. В этих условиях для решения обратной задачи предложено использовать искусственную нейронную сеть, но на вход ей подавать 149 Программные продукты и системы данные, прошедшие процедуру фильтрации. Нейронные сети для решения обратных задач уже успешно применялись [3]. Фильтр помогает снизить уровень шумовых составляющих измерений и, как следствие, их влияние на результат решения. Из многообразия алгоритмов фильтрации был выбран фильтр Калмана, так как он позволяет использовать часть априорной информации, снижая тем самым неопределенность данных для решения обратной задачи нейронной сетью. Кроме этого, алгоритм фильтра может записываться в форме разностных уравнений, что особенно ценно при реализации их в вычислительных устройствах. В общем случае обратную задачу можно описать следующим образом. Пусть x=G(v), где входной вектор v принадлежит множеству V, оператор G, описывающий отношения между данными и параметрами модели, представляет собой физическую систему, выходной вектор x∈(V). В случае линейной обратной задачи, описывающей линейную систему, x=Gv. Для нелинейной обратной задачи G представляет собой нелинейный оператор, который не может быть приведен к виду линейного отображения, переводящего в данные. Задача состоит в том, чтобы по информации о векторе x определить вектор v. Применение нейронных сетей позволяет получать решение обратных задач как для линейного, так и для нелинейного оператора G. Однако оператор G-1 должен удовлетворять требованиям теоремы о полноте, то есть быть непрерывным на замкнутом ограниченном множестве данных. В этом случае он может быть равномерно приближен функциями, вычисляемыми нейронными сетями, если функция активации нейрона дважды непрерывно дифференцируема [1]. Тогда, выбрав искусственную нейронную сеть с соответствующей структурой, можно найти решение задачи v=G-1(x) с точностью, определяемой точностью задания вектора х и оператора G. Рассмотрим предлагаемый метод решения линейных обратных задач в постановке, характерной для теории автоматического управления. Уравнение, связывающее входной и выходной вектор, x=Gv, (1) имеет решение v на V только для таких элементов x, которые принадлежат множеству GV. Предполагается, что оператор G известен точно, а вектор x обычно известен приближенно, так как представляет собой результат измерений, для которых характерно наличие векторного шума измерения N, вызывающего неточность определения x. Если u=Cx+N – это измеренное значение x, где C – матрица измерений соответствующего размера, то речь может идти лишь о нахождении приближенного к v решения уравнения C-1u=Gv, при этом u не принадлежит множеству GV. Кроме наличия шума измерений, оператор G, будучи сам непрерывным, во многих случаях не позволяет полу150 № 2, 2012 г. чить непрерывный обратный оператор G-1. В сложившейся ситуации в качестве приближенного решения нельзя брать точное решение (1) с приближенно заданным u, так как – решение может не существовать на множестве V, поскольку u может не принадлежать множеству GV; – решение не будет устойчивым, так как обратный оператор G-1 может не быть непрерывным. В то же время условие единственности решения обычно является следствием физической детерминированности задачи (1), и решение должно обладать этим свойством. С другой стороны, в практических приложениях обычно требуется знать решение с некоторой точностью, поэтому можно применить метод подбора решения некорректно поставленных задач [2]: полагая, что x известен точно для элементов v некоторого заданного подкласса возможных решений Vв, (Vв∈V), вычисляется оператор Gv, то есть решается прямая задача. За приближенное решение принимается такой элемент vп из множества Vв, который минимизирует невязку ρ(Gvп, x)=min ρ(Gv, x). Построение устойчивого к малым изменениям u приближенного решения уравнения (1) по формуле v=G-1 C-1u возможно в тех случаях, когда это решение ищется на компакте M∈V и C-1u∈H=AM. Эффективных критериев, позволяющих установить принадлежность C-1u множеству H, обычно не существует, это приходится предполагать априори [2]. Устранение затруднений, связанных с неточным знанием x, осуществляется путем поиска квазирешения vкв, минимизирующего на M функционал ρ(Gvкв., C-1u)=inf ρ(Gv, C-1u), где inf – нижняя граница возможных значений функционала. Квазирешение может быть и не одно, в этом случае под ним будем подразумевать любой элемент из множества квазирешений. Объединение приближенного метода нахождения решения обратной задачи и метода поиска квазирешения приводит к приближенному нахождению квазирешений [2], позволяющему перейти от бесконечного пространства квазирешений к пространству, содержащему конечное число приближенных квазирешений vкв.п. Квазирешение уравнения (1) может быть не единственным, а представлять собой совокупность квазирешений Т. В качестве приближения к квазирешению vкв на множестве M можно брать любой элемент vкв.п из Т, при этом lim ρ(vкв.п , vкв. ) = 0 . n →∞ Для применения фильтра Калмана необходимо представить вектор х в виде векторно-матричного дифференциального уравнения dx/dt=Ax+s, где А – матрица системы; s – случайный процесс типа белого шума, называемый порождающим процессом. Должны быть также известны статистические Программные продукты и системы № 2, 2012 г. характеристики процессов N, s и соответствующие начальные условия. В результате расчета фильтра определяется его коэффициент усиления К. В предлагаемом подходе структура алгоритма решения обратной задачи будет изменяться в зависимости от того, задан оператор преобразования G точно или он точно неизвестен. Структура решения, соответствующая первому варианту, показана на рисунке 1, второму – на рисунке 2. Представленные схемы реализуют приближенный метод поиска квазирешения обратной задачи. на основе обучающих выборок, но и коррекция БЗ на основании априорной информации, которой располагают эксперты соответствующей предметной области. Если оператор G известен точно, то, используя значения vi из заданного подкласса возможных решений Vв, (Vв∈V), и решая прямую задачу, можно получить наборы соответствующих xi. Для обучения нейронной сети используется множество пар {xi, vi}, где i=1, …, m (m – объем обучающей выборки), но на вход сети подаются наборы xi, а с выхода снимаются vi. ОсоN бенностью предложенного подхода к нахождению приu x квазирешения C K INT vкв.п ближенного vкв.п обратных задач является GNN A применение гибридной нейv x ронной сети для аппроксимаC G ции поверхности квазирешений на основании оценки ݔො вектора x. Если оператор G задан неРис. 1. Схема решения при заданном точно операторе G точно или неизвестен, возникает проблема формирования На рисунках введены обозначения: x̂ – оценка обучающей выборки. При неточно заданном опевектора х; INT – интегратор; BIC (Block of an inраторе можно попробовать применить описанный distinct conclusion) – блок нечеткого вывода, обесвыше подход к формированию обучающей выборпечивающий формирование матрицы А на основаки и провести на ней обучение нейронной сети. нии внешней информации I о преобразовании G; Ответ на вопрос о допустимости неточности задаxи, vи – значения векторов x и v, полученные на ния G можно будет получить после тестовых расмодели оператора G. Пунктирные линии обозначетов, и, если результаты устраивают исследовачают, что эти связи используются на начальном теля, можно рекомендовать практическое примеэтапе реализации алгоритма для обучения нейнение. ронной сети и подстройки матрицы А. Если же оператор G неизвестен, предлагается Обработка результатов измерения u проводитформирующий фильтр, который в данном случае ся с применением фильтра Калмана: этот алгобудет использоваться как модель преобразования, ритм позволяет оценивать весь вектор состояния, описываемого оператором G, на входе которого в то время как в результатах измерений могут вектор vи, а на выходе вектор xи. Структура формирующего фильтра известна, а значения параприсутствовать лишь некоторые его компоненты. На вход гибридной нейронной сети поступает уже метров определяются на основе процедуры нечеткого логического вывода в блоке BIC, БЗ которого не измерение u, а оценка x̂ . Выбор гибридных заполняется знаниями экспертов той предметной сетей обосновывается тем, что в них допускается области, для которой решается обратная задане только автоматическое приобретение знаний ча [4]. N Математически строгое обосноваx ние такого подхода весьма громоздко, u C K INT vкв.п поэтому критерием допустимости его GNN применения вновь может служить A получение результатов, ценных с пракv I x BIC G тической точки зрения. Рассмотрим иллюстративный пример решения обC ратной задачи, в котором объектом исследования будет сервомотор на поA стоянном токе. Входным сигналом для vи xи него выступает прилагаемое к обмотINT кам напряжение v(t). Ток i(t) в цепи ротора описывается соотношением v(t)= =Ri(t)+Ldi(t)/dt+s(t), где R, L – активное Рис. 2. Схема решения при точно неизвестном операторе G сопротивление и индуктивность ротора 151 Программные продукты и системы соответственно; s(t) – обратная электродвижущая сила. Эта сила, обусловленная вращением схемной рамки в магнитном поле, подчиняется зависимости s(t)=kvdη(t)/dt, где η(t) – угол поворота оси мотора. Вращающий момент на оси мотора, создаваемый током, описывается уравнением Tвр(t)=kai(t). В данных формулах kv, ka – коэффициенты пропорциональности соответствующих размерностей. На ось также действует момент нагрузки Tнагр(t), тогда в соответствии с третьим законом Ньютона можно записать J d2η(t)/d2t=Tвр(t)– –Tнагр(t)–kтр dη(t)/dt, где J – момент инерции ротора и нагрузки; kтр – вязкое трение. Пренебрегая индуктивностью схемной рамки, L=0, можно преобразовать последнее уравнение к форме пространства состояний: η(t ) η(t ) dt 0 1 0 v (t ) + 2 = η(t ) + η (t ) 0 −1/ τ β / τ dt 2 d t 0 + (2) Tнагр (t ), γ / τ где τ = kа JR , β= , kтр R + kа kv kтр R + kа kv R . (3) kтр R + kа kv Полученные уравнения отражают зависимость сигналов в непрерывном времени. Но, как уже отмечалось, вычислительные алгоритмы удобнее реализовывать для дискретного времени. Поэтому осуществляется переход от описания в непрерывном времени (2) к описанию в дискретном времени. Приложим кусочно-постоянный входной сигнал и дискретизируем выходной с интервалом T. Тогда, полагая момент нагрузки равным нулю и η(t ) вводя вектор x ( t ) = η(t ) , уравнение (2) для dt дискретного времени запишем как x(t+T)=Aт (τ, β) x(t)+Bт (τ, β)v(t), (4) −T 1 0 1 τ 1 − e τ T 0 −1/ τ = где Aт ( τ, β) = e (5) −T 0 eτ −T 1 T 0 τ 0 β(τe τ − τ + T ) 0 − 1/ τ Bт ( τ, β) = ∫e dτ = .(6) −T β / τ 0 β(1 − e τ ) Далее введем оператор q сдвига вперед на Т единиц времени и перепишем (4) с учетом этого оператора: [qE-Aт(τ, β)]x(kT)=Bт(τ, β)v(kT), (7) где Е – единичная матрица. γ=− 152 № 2, 2012 г. Формула (7) позволяет окончательно записать модель в виде, соответствующем (1): x(kT)=GT v(kT), (8) где в данном случае GT=[qE-Aт(τ, β)]-1 Bт(τ, β). Фактическое измерение величины угла η(t) осуществляется с ошибкой N(t), обусловленной ограниченной точностью, например, из-за градуировки шкалы измерительного прибора. Эта ошибка может быть описана последовательностью независимых случайных величин N(kT) с нулевым средним и известной дисперсией, рассчитанной по ошибкам округления в процессе измерений. Тогда модель измерений принимает вид u(kT)=Cx(kT)+N(kT), (9) где С=(1 0). Для проведения численного эксперимента зададимся численными значениями параметров: R=10, kv=2,5, ka=1,7, kтр=0,9, J=1,5, T=0,5. В результате расчетов по формулам (3), (5) и (6) полу 1 0,404 чаем τ=1,132, β=0,128, Aт = , 0 0,643 0,012 0,234 Bт = , Gт = . 0,046 −0,32 Для реализации численных расчетов использовалась среда MatLAB. Сформировав в ней вектор значений сигнала v(kT) и используя (8), рассчитывается обучающая выборка для гибридной нейронной сети. Выборка содержит пары значений векторов {x(kT), v(kT)}, k=1, ..., m. Имитация процесса измерений проводилась в соответствии с (9), при этом для моделирования шума N(kT) использовался генератор псевдослучайных равномерно распределенных на интервале [0, 1] чисел. Результаты моделирования показаны на рисунке 3. Рисунок отражает ожидаемую ситуацию, когда приближенное квазирешение vкв.п обратной задачи без предварительной фильтрации имеет большую дисперсию, чем решение, найденное при использовании фильтра Калмана. В данном примере без Рис. 3. Графики результатов моделирования процессов Программные продукты и системы использования фильтрации среднеквадратичная ошибка составляет 0,21, а с фильтром получено значение 0,1657, что показывает эффективность применения предложенного подхода. Влияние относительных уровней шумов и сигналов на величину среднеквадратичной ошибки требует дополнительных исследований и экспериментов. Предложенный подход к нахождению решений обратных задач может использоваться в различных практических ситуациях, когда достаточно получить численное, а не аналитическое решение задачи. № 2, 2012 г. Литература 1. Круглов В.В., Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. М.: Изд-во Физматлит, 2001. 224 с. 2. Тихонов А.Н., Арсенин В.Я. Методы решения некорректных задач. М.: Наука, 1979. 3. Новые возможности в решении обратных задач лазерной спектроскопии с применением искусственных нейронных сетей / И.В. Гердова [и др.] // Изв. РАН: Сер. Физическая. 2002. Т. 66. 4. Абраменкова И.В., Пучков А.Ю., Павлов Д.А. Нейронечеткий метод снижения чувствительности решения обратных задач к вариациям данных // Программные продукты и системы. 2011. № 4 (96). УДК 378.146: 519.67 ЭКСПЕРИМЕНТАЛЬНОЕ ПОДТВЕРЖДЕНИЕ СОСТОЯТЕЛЬНОСТИ ОЦЕНОК ТРУДНОСТИ ЗАДАНИЙ ТЕСТА И.Н. Елисеев, к.т.н. (Южно-Российский государственный университет экономики и сервиса, г. Шахты, ein@sssu.ru) Состоятельность оценок максимального правдоподобия латентного параметра «трудность задания» однопараметрической дихотомической модели Раша при фиксированном числе одинаковых по трудности заданий теста L и неограниченно возрастающем объеме выборки студентов N подтверждена результатами вычислительного эксперимента. Показано, что при этих же условиях оценки θ*i уровня подготовки i-го студента, рассчитанные по допустимой дихотомической матрице ответов, стремятся по вероятности к их первоначальным оценкам θoi . Ключевые слова: дихотомическая матрица, тест, состоятельность оценок, задание теста, латентный параметр, модель Раша. Для независимой оценки состояния учебной работы образовательного учреждения в качестве входных данных используются результаты тестирования учебных достижений обучаемых с помощью педагогических тестов. При прочих равных условиях надежность этих результатов будет определяться качеством тестов и входящих в них заданий. Одним из важных показателей качества последних является точность определения латентного параметра «трудность задания» теста βj (точность калибровки задания). Чем точнее определены значения βj, тем с меньшей погрешностью будут найдены значения θi латентного параметра «уровень подготовки» студента. Оценки β∗j и θ∗i латентных параметров βj и θi рассчитываются по результатам тестирования, которые представляются в виде дихотомической матрицы ответов X=(xij) [1]. Расчет оценок осуществляется численными методами на основе итерационых выражений [1, 2], полученных с использованием метода максимального правдоподобия: L p = x , i = 1, 2, ..., N , ∑ ij i j =1 (1) N ∑ p = y , j = 1, 2, ..., L, ij j i =1 N L где xi = ∑ xij – строчные, y j = ∑ xij – столбцоj =1 i =1 вые суммы элементов матрицы X. Вероятности pij правильного выполнения i-м студентом с уровнем подготовленности θi j-го задания трудностью βj определяются дихотомической моделью Раша: pij = e θi −β j . (2) θ −β 1+ e i j Важным требованием к оценкам максимального правдоподобия β∗j и θ∗i латентных параметров однопараметрической дихотомической модели Раша является наличие у них свойства состоятельности. Традиционное определение состоятельности к оценкам этих параметров неприменимо, поэтому в работе [3] предложено следующее условие состоятельности для оценок латентных параметров модели Раша. Пусть (θi )i∞=1 , (β j )∞j =1 – числовые последовательности. При всех N, L≥2 рассмотрим оценки θ*i параметров θi, i=1, 2, …, N, и оценки β*j параметров βj, j=1, 2, …, L, рассчитанные по формулам (1), для дихотомической матрицы ответов X размера N×L, полученной в результате ответа N тес153 Программные продукты и системы № 2, 2012 г. тируемых с уровнем знаний θ1, θ2, …, θN на L заданий теста трудности β1, β2, …, βL. Назовем эти оценки состоятельными, если для любых двух ограниченных последовательностей (θi )i∞=1 , (β j )∞j =1 найдется неслучайная двойная последовательность (α NL ) N∞=1 , L ∞=1 , такая, что при всех i, j≥1 величины θ*i + α NL , β*j + α NL сходятся по вероятности, соответственно, к θi и βj при N→∞, L→∞. Необходимость введения в условие состоятельности последовательности (α NL ) N∞=1 , L ∞=1 связана с тем, что при всех N, L≥1 матрица вероятностей ( pij )iN=1 , j =L1 , вычисляемых по формуле (2), а значит, и строчные xi , и столбцовые yj суммы (1≤i≤N, 1≤j≤L) для этой матрицы инвариантны относительно изменения параметров θi, βj (1≤i≤N, 1≤j≤L) на одну и ту же величину α. Использование последовательности (α NL ) N∞=1 , L ∞=1 дает возможность корректировать значения оценок θ*i и β*j . В противном случае получается заведомо невыполнимое условие состоятельности. Чтобы убедиться в этом, предположим, что оценки θ*n , β*n , n=1, 2, …, удовлетворяют введенному в [3] понятию состоятельности. Тогда для любых неслучайных ограниченных последовательностей (θ n )n∞=1 , (βn )n∞=1 , например, для нулевых последовательностей (θ n = 0)n∞=1 , (βn = 0)n∞=1 , оценки θ*n , β*n сходятся по вероятно- сти к θn и βn соответственно, то есть к нулю при N→∞, L→∞. Однако в таком случае матрица вероятностей ( pij )iN=1 , j =L1 для оценок θ*n , β*n , рассчитанных для ограниченных последовательностей (θ n = 1)n∞=1 , (βn = 1)n∞=1 , окажется такой же, что и для нулевых последовательностей, и оценки будут сходиться по вероятности к нулю, что исключает их сходимость к единице. Это говорит о неверности предположения о состоятельности оценок θ*n , β*n и делает бессмысленным рассмотрение введенного определения состоятельности без использования последовательности (α NL ) N∞=1 , L ∞=1 . На практике объем выборки N участников тестирования можно сделать достаточно большим, но число заданий L теста ограничивается разумным значением, при котором зависимость результатов выполнения теста от утомляемости тестируемых можно считать несущественной (как правило, L=50 [2]). В связи с этим важно знать, обладают ли оценки максимального правдоподобия латентных параметров однопараметрической дихотомической модели Раша, рассчитанные по матрице ответов с достаточно большим числом строк N и ограниченным числом столбцов L, свойством состоятельности. 154 В [2] теоретически исследована состоятельность оценок θ*i и β*j ( i = 1, N , j = 1, L ) при неограниченном возрастании объема выборки участников тестирования N и конечном числе одинаковых по трудности (βj=0) заданий теста L. Было показано, что при каждом фиксированном i≥1 оценки θ*i уровня знаний i-го студента, рассчитанные по допустимой дихотомической матрице ответов, стремятся по вероятности к их первонаx при N→∞. При чальным оценкам θoi = ln i L − xi этих же условиях оценки максимального подобия β*j параметров βj=0, j = 1, L , сходятся по вероятности к нулю, что означает наличие у них свойства состоятельности. Следует отметить, что в качестве значения βj трудности каждого из заданий можно было бы выбрать другое, отличное от нуля значение β0, поскольку функция (2) и ограничен∞ ность последовательности (θi ) i =1 инвариантны относительно изменения всех параметров на одну и ту же величину β0. Полученные в [2] теоретические результаты нуждаются в экспериментальной проверке. Целью этой работы является экспериментальное исследование состоятельности оценок максимального правдоподобия θ*i , β*j латентных параметров однопараметрической дихотомической модели Раша при фиксированном числе одинаковых по трудности заданий теста L и неограниченно возрастающем объеме выборки студентов N. Провести экспериментальные исследования с использованием реального теста не представляется возможным, поскольку на практике нельзя получить L тестовых заданий абсолютно одинаковой трудности. В связи с этим проверка проводилась на основе вычислительного эксперимента в два этапа. На первом этапе с помощью имитационного моделирования создавалось несколько выборок значений θ1, θ2, …, θN в предположении, что они распределены по нормальному закону. Значения математического ожидания mθ и стандартного отклонения σθ выбирались равными mθ=0, σθ=1,414 логит. В дальнейшем модель матрицы формировалась двумя способами. В соответствии с первым из них для каждой из полученных выборок θi (i = 1, N ) и выборки заданий с нулевой трудностью βj=0 ( j = 1, 49) формировалась матрица вероятностей pij, значения которых вычислялись по формуле (2) модели Раша. С помощью имитационного моделирования на основе закона равной вероятности элементы матрицы вероятностей заменялись на 0 и 1. В результате этого получали дихотомическую матрицу с числом строк N и числом столбцов L=49. Объем выборки виртуальных Программные продукты и системы тестируемых N×L после удаления экстремальных строк и столбцов оказался равным 202×49 и 1233×49. Каждая из сформированных таким образом матриц обрабатывалась программным комплексом RILP-1M [4], в результате находились значения оценок θ*i , β∗j и начальные значения уровня подготовки θ0i . Рассчитывалось относительное отклонение γi оценок θ*i от значений θ0i . Анализировались полученные значения оценок β∗j № 2, 2012 г. туальных заданий оказались равными нулю, то есть значениям βj. Для отдельных виртуальных заданий наблюдалось отклонение β*j от нулевых значений. Оно составило 0,005 логит для матрицы 501×49 и 0,002 логит для матрицы 3007×49. Характеристические кривые всех виртуальных заданий полностью совпали (рис. 2), выродившись в одну кривую, причем проходящую через точку с координатами (0,5; 0), что свидетельствует о равенстве всех β*j нулю. латентных параметров βj и сравнивались с βj=0 ( j = 1, 49) . Вычислялось среднее выборочное оценок β∗j , и анализировались их характеристические кривые. Анализ полученных данных показал, что при увеличении объема выборки N величина γi снижается. Для матрицы размером 202×49 среднее значение γicp оказалось равным 0,5 %, а диапазон изменения значений γi составил от 0,36 до 0,81 %. Для матрицы размером 1233×49 значения γi изменялись в интервале от 0,13 до 0,28 %, а γicp снизилось до 0,15 %. Разброс значений β∗j составил от Рис. 2. Характеристические кривые виртуальных заданий виртуального теста, рассчитанные по модели матрицы 1002х49 вторым способом –0,21 логит до 0,157 логит (для матрицы 1233×49), выборочное среднее β оценок β∗j оказалось равным нулю. Равенство β =0 подтверждается и симметричным относительно точки с координатами (0,5; 0) расположением характеристических кривых виртуальных заданий (рис. 1). Все это подтверждает полученные в работе [2] теоретические результаты. Рис. 1. Характеристические кривые виртуальных заданий виртуального теста, рассчитанные по модели матрицы 1233×49 первым способом Формирование модели матрицы вторым способом проводилось на основе моделирования в соответствии с алгоритмом, описанным в [5]. Были сформированы 3 матрицы: 501×49, 1002×49 и 3007×49. Их обработка показала, что во всех трех случаях оценки θ*i полностью совпадают с оценками θ0i . Значения оценок β*j почти для всех вир- На втором этапе вычислительного эксперимента осуществлялась проверка справедливости теоретически полученных результатов для значения βj, отличного от нуля. Для этого с помощью описанного в [5] алгоритма формировалась генеральная дихотомическая матрица ответов размером 1012×49. Термин «генеральная матрица» понимается в том же смысле, что и в работе [5]. По сформированной генеральной матрице ответов с помощью программного комплекса RILP-1M рассчитывались генеральные значения θi и βj латентных параметров ( i = 1, N , j = 1, L ), находились параметры закона распределения mθ=0 логит и σθ=1,42443 логит значений θi ( i = 1, N ) в предположении его нормальности. Из полученных значений βj выбиралось одно: β48=0,491 логит, индивидуальный балл которого Y48=416. На его основе формировалась модель матрицы ответов с числом строк N=1012 и числом столбцов L=49. Все столбцовые суммы yj задавались одинаковыми, равными 416. В качестве строчных сумм xi выбирались строчные суммы xi генеральной матрицы, которые корректировались так, чтобы итоговые суммы 49 1012 j =1 i =1 ∑ y j и ∑ xi были равны. Сформированная таким образом модель дихотомической матрицы ответов обрабатывалась программным комплексом RILP-1M, и анализировались полученные значения оценок трудности всех заданий β∗j ( j = 1, L ). 155 Программные продукты и системы № 2, 2012 г. Анализ показал, что для всех виртуальных заданий полученные значения β∗j оказались равными 0,494 логит. Отклонение γ от генерального значения βj=0,491 логит составило 0,6 %. Оценки θ*i полностью совпали с оценками θ0i . Таким образом, результаты вычислительного эксперимента подтверждают полученный теоретическим путем вывод о стремлении оценок максимального правдоподобия θ*i латентного параметра θ к первоначальным значениям θ0i и о состоятельности оценок β∗j латентного параметра «трудность задания» теста при неограниченном возрастании объема выборки N. Литература 1. Нейман Ю.М., Хлебников В.А. Введение в теорию моделирования и параметризации педагогических тестов. М., 2000. 168 с. 2. Елисеев И.Н., Шрайфель И.С. Модель оценивания латентных параметров дихотомической модели Раша // Изв. вузов: Технич. науки. 2011. № 6. С. 37–46. 3. Елисеев И.Н., Шрайфель И.С. Доказательство несостоятельности стандартных оценок латентных параметров дихотомической модели Раша // Изв. вузов: Электромеханика, 2012. № 1. С. 85–96. 4. Елисеев И.Н., Елисеев И.И., Фисунов А.В. Программный комплекс RILP-1 // Программные продукты и системы. 2009. № 2. С. 178–181. 5. Елисеев И.Н. Модель дихотомической матрицы результатов тестирования // Программные продукты и системы. 2011. № 3. С. 80–86. УДК 519.876.5+519.178 ПРОГРАММНОЕ СРЕДСТВО ДЛЯ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ С ПОМОЩЬЮ ГРАФОВЫХ МОДЕЛЕЙ И.Н. Карпухин; Ю.П. Кораблин, д.т.н. (Российский государственный социальный университет, г. Москва, surstrat@mail.ru; y.p.k@mail.ru); А.А. Незнанов, к.т.н. (Национальный исследовательский университет «Высшая школа экономики», г. Москва, aneznanov@hse.ru) Рассмотрены текущая реализация и перспективы развития оригинального программного средства G-IPS Ultimate, предназначенного для имитационного моделирования (в том числе систем реального времени). Модель системы задается с помощью набора решающих графов специального вида, которые позволяют строить нечеткие модели систем. Ключевые слова: имитационное моделирование, графовая модель, экспертные знания, продукционные знания, программный комплекс. Компьютерное имитационное моделирование (ИМ) систем сегодня является актуальной задачей, а проблема выбора модели описания логики протекания процессов остается открытой. Имитационное моделирование – мощный и зачастую единственно доступный инструмент исследования поведения сложных систем [1]. Методы ИМ позволяют собрать необходимую информацию о поведении системы с помощью вычислительных экспериментов над компьютерной моделью системы, реагирующей на сигналы внешней среды. Актуальность исследования данной задачи обусловлена переходом к автоматизации сложных систем в различных производственных областях, а также важностью прогнозирования поведения процессов во времени. Причинами активного развития ИМ стали кризис аналитичности, когда для многих задач отсутствовали аналитические решения, и появление новых классов задач предсказательного моделирования. Вместо натурного эксперимента имитация может потребоваться по следующим причинам: система недоступна, экспери156 мент на реальной системе слишком затратен, функционирование системы сопряжено с большими рисками, система еще не существует [2]. Перед моделированием необходимо выбрать модель представления экспертных знаний. В числе наиболее доступных и распространенных – модели на основе продукционных правил. Продукционные модели используются для решения сложных задач, которые основаны на применении эвристических методов представления знаний, позволяющих настраивать механизм вывода на особенности проблемной области в условиях неопределенности. В продукционной модели основной единицей знаний является правило вида: «если <посылка>, то <заключение>», с помощью которого можно выразить пространственно-временные, причинноследственные, функционально-поведенческие (ситуация–действие) отношения объектов. Авторы данной статьи за основу модели представления экспертных знаний взяли продукционную модель, являющуюся наряду с фреймами од- Программные продукты и системы ним из наиболее популярных средств представления знаний в искусственном интеллекте. Для повышения наглядности и прозрачности процесса моделирования продукционные правила строятся в виде графовых моделей особой топологии. Представление продукционных правил с помощью графовых моделей Для построения моделей, сохраняющих интуитивную наглядность представления систем, авторами разработано программное средство G-IPS Ultimate (Graph Imitation Process System) имитационного моделирования в дискретном времени [3], позволяющее строить модели на основе графов специального вида. В данных моделях расширена область определения условий, которые позволяют учитывать исключительные ситуации в поведении системы на уровне модели. То есть областью определения переменных, обозначающих условия, является Ω={T, F, E}, где Т – «истина», F – «ложь», E – «ошибка». Система продукционных правил RGS в G-IPS Ultimate задается набором решающих графов RGt (рис. 1). RGt = <D, M, A, S> – t-дольный конечный решающий граф (t≥3), где доли имеют следующий смысл. № 2, 2012 г. – множество пар «связь–вес», где вес дуги означает ожидаемое значение и визуализируется цветом (на рис. 1 – тонированием). • M=(q(t-1)1, q(t-1)2, …, q(t-1)z) – непустой вектор датчиков высшего порядка, z≥1. Датчик q(t-1)j отличается от датчиков более низкого порядка отсутствием логических связей, он определяется лишь собственным значением q(t-1)j=val∈Ω. • А={a1, a2, …, av} – непустое множество действий (правая доля решающего графа на рис. 1), v≥1; ai – идентификатор действия (вершина правой доли на рис. 1). • S – матрица размером |M|×|A|, устанавливающая связь между логическими правилами и действиями (незатонированные дуги решающего графа на рис. 1). Элементом данной матрицы является либо пустой элемент (отсутствие связи), либо тройка sij=<ord, lv, rv>, где ord – целое число, такое, что нуль означает отсутствие действия для данного датчика из М, а любое другое число – приоритет действия в наборе действий, подлежащих выполнению; lv – левая допустимая граница вероятности (из отрезка [1, 100]); rv – правая допустимая граница вероятности (из отрезка [1, 100]). Следует отметить, что на каждое действие накладываются такие атрибуты, как приоритет (среди множества действий, подлежащих выполнению) и интервал вероятности, позволяющий задавать вероятности и корреляции выполнения действий. Программное средство G-IPS Ultimate Рис. 1. Пример решающего графа RG4 • D=(X1, …, Xk) – вектор (k=t–2), в котором Xi=(qi1, qi2, …, qin) – непустой вектор датчиков i-го порядка, i≥1, n≥1 – конечные; X1 – вектор простых датчиков (или датчиков первого порядка), значения которых задает функция интерпретации, запрашивая исходный вектор извне; (X2, X3, …, Xk) – векторы (слои) датчиков более высокого порядка (второго, третьего и т.д.), их значения определяет функция интерпретации по значениям датчиков предыдущего порядка. Датчик qij задается парой <val, Con>, где val∈Ω – собственное значение датчика; Con={<id, w>} – непустое множество пар <id, w>, где id∈[1..|Xi+1|] для слоев от 1 до (t–2) и id∈[1..|M|] для датчиков (t–1)-го слоя – дуга, связывающая датчик qij с датчиком более высокого порядка, w∈Ω – вес дуги. То есть датчик определяется собственным значением val и взвешенными связями с датчиками более высокого порядка Con Программное средство G-IPS Ultimate является развитием комплекса программ G-IPS [2], созданного в МЭИ в 2007–2008 гг., и предназначено для построения моделей процессов в виде решающих графов с последующей имитацией (рис. 2). Разработка велась в среде CodeGear Rad Studio 2007 с использованием дополнительных библиотек. Число строк авторского исходного кода составляет не менее 7 500, объем более 210 КБ, размер скомпилированного приложения 1,4 МБ. Рис. 2. Главное окно G-IPS Ultimate (редактирование модели) 157 Программные продукты и системы G-IPS Ultimate обеспечивает взаимодействие этой модели с внешним модулем (DLL). В процессе имитации каждый шаг прогона модели можно условно разделить на два этапа. На первом (рис. 3) система запрашивает значения элементарных датчиков из подключаемого внешнего модуля (DLL), используя низкоуровневый интерфейс G-IPS Addon. Помимо самого значения функции, из dllмодуля может поступить команда редактору G-IPS Ultimate через функцию обратного вызова, с помощью которой реализован ряд команд, таких как «добавить запись в текстовый журнал событий», «приостановить выполнение», «сохранить какуюлибо величину в памяти» и др. После получения показателей простых датчиков система вычисляет значения остальных датчиков и составляет список действий, подлежащих выполнению. Затем наступает второй этап прогона модели – выполнение предписанных действий (рис. 4). Отличительными особенностями G-IPS Ultimate являются следующие. Программное средство представляет собой Windows-приложение с развитым пользовательским интерфейсом, в котором реализован универсальный механизм интерпретации решающих графов. Функциональность и интерфейс программы обеспечивают все необходимые режимы работы: разработка (создание моделей), эксперимент (автоматический и интерактивный прогоны моделей), анализ (просмотр журнала событий, анализ результатов экспериментов и кларификация – прояснения внутренней логики функционирования моделей). В G-IPS Ultimate реализован механизм взаимодействия модели с внешней средой. Среда задается подключаемыми модулями, которые представлены динамически компонуемыми библиотеками (DLL), благодаря чему у разработчиков модулей нет привязки к среде разработки. Предусмотрен также механизм воздействия пользователя на процесс имитации. История имитации процесса может сохраняться в журнале совершенных событий и состояний системы, что позволяет не только ускорить процесс отладки, но и пошагово изучить исследуемый процесс. Кроме того, история протекания процесса может записываться в виде, позволяющем последующий (например демонстрационный) повтор всех происходивших событий, включая воздействие внешней среды. В программном средстве реализован механизм проверки корректности структуры модели. Средствами G-IPS Ultimate возможно параллельное выполнение опроса датчиков, действий, интерпретации моделей. Программный комплекс позволяет описывать отдельные компоненты моделируемой системы на разном уровне абстракции. 158 № 2, 2012 г. Рис. 3. Этап опроса условий из внешнего dll-модуля Рис. 4. Этап выполнения действий В нем реализован механизм тестового прогона моделей без подключения внешнего модуля, позволяющий быстро обнаружить ошибку проектирования на стадии создания модели. Комплекс G-IPS Ultimate может быть применен для решения широкого круга прикладных и учебных задач [4]. К основным направлениям развития данного комплекса следует отнести расширение набора инструментов анализа проводимых экспериментов средствами сбора различных статистических данных, а также реализацию механизма подключения других типов модулей (плагинов), таких как генераторы моделей, валидаторы и т.п. Литература 1. Ross, Sheldon M. Simulation. Academic Press, 4 ed., 2006. 312 p. 2. Карпухин И.Н., Незнанов А.А. Программные средства имитационного моделирования процессов принятия решений реального времени // Интегрированные модели, мягкие вычисления, вероятностные системы и комплексы программ в искусственном интеллекте. М.: Физматлит, 2009. Т. 2. С. 132–140. 3. Banks J., Carson J., Nelson B., Nicol D. Discrete-Event System Simulation. Prentice Hall, 3 ed., 2000. 600 p. 4. Карпухин И.Н., Незнанов А.А. Системы имитационного моделирования учебного назначения в российской высшей школе // Современные проблемы информационной безопасности и программной инженерии. М.: Спутник, 2011. C. 132–142. Программные продукты и системы № 2, 2012 г. SUMMARY MECHANISMS OF EVOLUTION OF ORGANIZATIONAL PROCESS SYSTEMS Vinogradov G.P., Ph.D.; Palukh B.V., Ph.D. (Tver State Technical University, wgp272ng@mail.ru) Аbstract. The problem of synthesis of the evolution of the control mechanism of organizational and technological system that uses a person's ability to self-organization. A model of the system containing agents capable of self-organization. The behavior of self-organizing agents, is an algorithm for constructing a set of preferred states. Keywords: intelligent organization, the fuzzy output, the agent, the state of purposeful, self-organization, evolution. MODEL OF WEAKLY GOAL-SETTING IN A STRUCTURED ENVIRONMENT Vinogradov G.P., Ph.D.; Kuznetsov V.N., Ph.D. (Tver State Technical University, wgp272ng@mail.ru); Bogatikov V.N., Ph.D. (Institute for Informatics and Mathematical Modelling of Technological Processes of the Kola Science Center RAS) Аbstract. The problem of generating alternatives to the project for semi-structured environments, which combines the steps and tselepolaganiya tseledostizheniya that allows understanding of the subject area of the project each of its members. The model of participant selection, which allows to predict its behavior. On the basis of the model proposed by the formality of behavior participant in the process of achieving the objectives of the project. Keywords: design, fuzzy inference, agent, single-minded state, fuzzy programming. COMPONENTAL APPROACH TO CREATION OF THE DISTRIBUTED IMITATING MODELS Veselov A.A., Ph.D. (Tver State Technical University, veselov_a_a@mail.ru) Abstract. At the moment the computer imitating modeling often demanding a significant amount of computing resources and time is widely used. For reduction of time of modeling it is possible to try distibute model performance. This work is devoted to development of the software application, allowing to create distributed discrete-events models on the basis of a componental approach. The technics of splitting components on two composed parts and the organizating of interaction between them are considered. The offered approach of a distributed component building will allow to increase overall imitating models performance. Keywords: distributed system, cooperating objects, component, external poles, the functional module, proxy of the functional module, remote interaction. PARALLEL PROCESSING IN SOFTWARE SYSTEMS FOR PLANNING THE USE OF AIRSPACE Grigoryev V.A., Ph.D.; Timofeev S.Yu. (Tver State Technical University, evm@tstu.tver.ru, timofeev.simeon@hotmail.com) Abstract. The article speaks about processing of flight plan information in air traffic planning system and advantages of multithreading data processing for improvements of system performance. Keywords: programming, parallel processing, planning, air traffic, special software. PROGRAM CHOICE OF TECHNOLOGICAL REGIMES OF DISCRETE-CONTINUOUS CASTING OF NON-FERROUS METALS AND THEIR ALLOYS Zhiganov N.K., Ph.D.; Fomina E.E., Ph.D. (Tver State Technical University, Jiganov2005@yandex.ru) 159 Программные продукты и системы № 2, 2012 г. Abstract. We consider the program, for modeling, optimization and the choice of technological regimes of continuous and discrete-continuous casting of non-ferrous metals. Keywords: casting non-ferrous metals, modeling, optimization, technological regimes. CAE FOR STREAMS MODELING AND DYNAMICS OF FISH MOVEMENTS PASSING THROUGH FISHWAYS Goryachev V.D., Ph.D.; Zimka M.S. (Tver State Technical University, valery@tversu.ru, mszimka@gmail.com) Аbstract. The system of simulation of turbulent flow and dynamics of fish movement over technical fish passes is considered. Behavioral fish movement model inside fish ladder during spawning time and computer system structure and software are described. Keywords: CAE/CAM, computational fluid dynamics, biosystem simulation. EXPERT-MODELING SYSTEMS IN THE IT-INFRASTRUCTURE MANAGEMENT Khristenko D.V., Ph.D.; Loginov I.V., Ph.D. (The Academy of the Federal Guard Service of the Russian Federation, Orel, liv@academ.msk.rsnet.ru) Аbstract. In this article is viewed model of organization of administration management system for ITinfrastructure of enterprise, based on network of dispersed expert-modeling systems. This structure helps to increase of validity of assessment accepts decisions for administrative management. Keywords: administrative management, IT-infrastructure, assessment, management system, dispersed, modeling. SOFTWARE PACKAGE FOR CREATING A BLOCK-STRUCTURED GRIDS Zaytsev D.K., Ph.D.; Smirnov P.E., Ph.D.; Yakubov S.A., Ph.D.; Balashov M.E., Ph.D. (St. Petersburg State Polytechnical University, aero@phmf.spbstu.ru, pavel.smirnov@nts-int.spb.ru, yakser@mail.ru, bumpy@mail.ru) Аbstract. We present a set of tools for interactive generation of block-structured grids in complex geometry domains that is involved in teaching and scientific activities at the Polytechnic university. Functional capabilities of the set of tools are described along with the algorithms implemented. Keywords: grid generation, block-structured grids. THE COMPLEXITY OF MODEL CHECKING OF THE CONCURRENT SYSTEMS Zakharchenko S.S. (Petersburg State Transport University, ss.zahar@gmail.com) Аbstract. In this paper we consider the complexity of model checking of parallel systems. Also provides details of modeling of asynchronous computing processes. Keywords: model checking, parallel software systems, class complexity, linear temporal logic, Buchi automaton. METADATA OF MULTIMEDIA RESOURCES AND ONTOLOGIES Moskvina A.S. (Irkutsk State University, anastasia.moskvina@gmail.com) Аbstract. This article introduces approaches for the development of meta-descriptions of video and audio resources which are based on the use of ontologies as systems of metadata. The markup allows us to describe comprehensively the features of a multimedia resource, while ontologies provide a flexible opportunity for descriptions of marking tags (i.e. logical points). Keywords: ontology, multimedia resources, markup, metadata, Libretto, user interface. 160 Программные продукты и системы № 2, 2012 г. LIFECYCLE MANAGEMENT FOR INFORMATIONAL BUSINESS PROCESS Loginov I.V., Ph.D. (The Academy of the Federal Guard Service of the Russian Federation, Orel, liv@academ.msk.rsnet.ru) Аbstract. In the article are viewed business processes of organization for which very importance using of automation and information technologies. For this, named informational, business process suggested approach for administrative management base on using hybrid model on all stages of lifecycle. Keywords: business process, automation, information, management, development, hybrid model, lifecycle. SEARCH ACCELERATION IN INDEXES BASED ON R-TREES Chernov A.F. (Vologda State Technical University, chernofaf@mail.ru) Аbstract. This article is devoted to modification of index access methods, based on R-trees, in DBMS. The improvementis directed onsearch acceleration with index usage. Modification included two stages. At each stage internal structure changes was made in search tree. As a result efficiency verification was performed for used decisions for various contents of a database. Keywords: DBMS, index, access method, R-trees, PostgreSQL, search acceleration, composite data type. DIGITAL ORGANISM'S STRUCTURE IN SELF-ORGANIZING SOFTWARE SYSTEMS Kolchugina E.A., Ph.D. (Penza State University, kea@pnzgu.ru) Аbstract. We propose a concept of self-organizing software system. A new description of digital organism’s structure based on numbering theory is proposed. Keywords: self-organization, artificial chemistry, numbering theory, software agents. METHOD OF VIRTUAL SIMULATION AND PROSPECTS IN THE LIMITATIONS ANDUNCERTAINTIES Myshev A.V., Ph.D. (Obninsk Institute for Nuclear Power Engineering of the National Research Nuclear University «MIPhI», mishev@iate.obninsk.ru) Abstract. Substantive provisions and principles of a method virtual prospect in methodology of development and implementation technologies of computer modeling under conditions and uncertainties are stated and formulated (of fuzzy problems). A basis of a developed method make: the theory of virtual lattices, models of active memory and processes with local information interaction in the virtual information environment of modeling. Solutions of modeled problems are under construction in the form of complexes on cellular topology of quantum discrete spaces (lattice, graphs). Keywords: method of virtual prospect, technologies modeling, model active memory, fuzzy problems, virtual information environment, computing. MULTIAGENT SYSTEM OF INFORMATION RETRIEVIAL FOR INDUSTRIAL ENTERPRISE Shvetsov A.N., Ph.D.; Letovaltsev V.I. (Vologda State Technical University, smithv@mail.ru, LetovaltsevVictor@gmail.com) Аbstract. In the article multiagent architecture of information retrieval system for industrial enterprise are described. Typical streaks of such system and features of implementation are enumerated. Formal designing process is described and conceptual model and intellectual component tree model described as it’s result. Keywords: information retrieval system, multiagent systems, conceptual retrieval’s model, formal description. 161 Программные продукты и системы № 2, 2012 г. VULNERABILITY OF WEB CONTENT PROTECTION OF TYPE HTML GUARDIAN Ermakov D.G., Ph.D. (Institute of Mathematics and Mechanics, Ural Branch of RAS, Ekaterinburg, Ermak@imm.uran.ru) Аbstract. The task of overcoming of protection of information from copying, similar to ProtWare's HTML Guardian, is considered. To solve the task we suggest using standard means of MS Windows: Windows PowerShell scripting language and browser MS Internet Explorer. It is shown that it is impossible to protect a web page content, since the browser receives the non-encoded HTML-code, and there is a simple and fast method to receive this non-encoded code by means of PowerShell. Keywords: information security, overcoming of protection, MS Windows PowerShell, MS Internet Explorer, .NET. METHOD OF CONSTRUCTION THE SECURITY MODEL OF AUTOMATED SYSTEMS Zhukov V.G., Ph.D.; Zhukova M.N., Ph.D.; Zolotarev V.V., Ph.D.; Kovalev I.V., Ph.D. (Siberian State Aerospace University, Krasnoyarsk, vadimzhukov@mail.ru, mariem@inbox.ru, amida@land.ru, kovalev.fsu@mail.ru) Аbstract. Proposed a method of constructing security model for automated system in the protected execution. Considered the work stages at security model building. Shown the generalized scheme of a software system of automated security model building. Keywords: security model, automated systems, engineering information security systems. METHOD OF CONSTRUCTION THE SECURITY MODEL OF AUTOMATED SYSTEMS Zhukov V.G., Ph.D.; Zhukova M.N., Ph.D.; Stefarov A.P. (Siberian State Aerospace University, Krasnoyarsk, vadimzhukov@mail.ru, mariem@inbox.ru, chameleo@list.ru) Аbstract. Proposed a method of constructing the violator’s model of unauthorized access in to the automated system. Considered a procedure for classifying violator’s, which performs unauthorized access to automated system. Keywords: violator’s model, unauthorized access, information security. THE PROBLEM OF DETECTING ANOMALIES IN SETS OF TIME SERIES Antipov S.G.; Fomina M.V., Ph.D. (Moscow Power Engineering Institute, antisergey@gmail.com, m_fomina2000@mail.ru) Аbstract. A problem of one-class anomaly detection in time series is considered. A new algorithm is proposed, which allows to build criteria for detecting anomalies in time series efficiently. Keywords: time series, anomaly detection. MODEL FOR CALCULATING THE CAPACITY OF THE AUTOMATIC WAREHOUSE Rusyaev A.S. (Orenburg State University, nermal@mail.ru); Rusyaeva T.O. (Orenburg State Agrarian University, tovol@rambler.ru) Аbstract. The software is developed for design of the storage capacity. Besides, this programme, which is intended for the modeling and optimization of mechanical assembly production, could be used in various working conditions and requires no special qualification of the operating staff. Software has friendly suitable and standart Window`s interface and works under Win9x/NT/Me/2000/XP operation systems. Keywords: program, the production organisation, storage capacity, simulation, automatic projecting. EFFICIENCY COMPUTATIONS ORGANIZATION FOR CALCULATION OF ELECTRONIC STRUCTURE OF LARGE MOLECULES Shamayeva O.Yu., Ph.D. (National Research University «MPEI», shamayevaOY@mpei.ru); Chernetsov A.M. (Dorodnicyn Computing Centre of the RAS, an@ccas.ru) Аbstract. A parallel modification of Palser-Manolopoulos method for calculation of electronic structure of large molecules based on distributed memory model is described. A parallel algorithm for dense and sparse data 162 Программные продукты и системы № 2, 2012 г. structures is developed. It allows to increase calculation efficiency essentially. Estimations for computational complexity are given. Keywords: electronic molecular structure, matrix diagonalization, direct methods, purification method, MPI, sparse block-tridiagonal matrix. SELECTION AND DISTRIBUTION OF VEHICLES IN THE LIFE CYCLE OF MOTOR TRANSPORT ENTERPRISE Fedorov N.Yu.; Cherkasov O.N., Ph.D.; Anikeev E.A., Ph.D. (Voronezh State Academy of Forestry and Technologies, nyfedorov@gmail.com, oncherkasov@gmail.com, eanikeev@gmail.com) Аbstract. A model of selection and distribution of vehicles based on the principle of hierarchical modeling for the implementation of various technological operations of road transport companies. Keywords: management, model, motor vehicles, manufacturing operations, vehicle enterprise. ALGORITHMS OF THE BIOSYNTHESIS PROCESS PARAMETERS ESTIMATION Gordeeva Yu.L., Ph.D. (Moscow State University of Food Productions, l.s.gordeev@yandex.ru) Аbstract. Three algorithms have been presented in this report: the algorithm for calculation of process parameters when substrate concentration and dilution rate are known; the algorithm for determination of substrate concentration in the range of given values when the productivity is maximum; the algorithm for evaluation of dilution rate in the range of given values when the productivity is maximum. Numerical examples of the implementation of these algorithms have been considered. Keywords: biotechnology, information systems, calculation algorithms. METHOD OF CONCEPTUAL DESIGN OF INFORMATION SYSTEMS SOFTWARE Butenko D.V., Ph.D.; Ananyev A.S.; Popov K.V. (Volgograd State Technical University, gindenburg@mail.ru, ananievandr@yandex.ru, popov_konstantin@lenta.ru) Abstract. Here describe the method for designing new information systems, which allow you to create nontrivial projects. In general, these technologies are based on existing needs, allow us to formulate requirements to the functional structure of the future system, to define its principles of operation and to provide options for technical and parametric solutions. For example, the conceptual design methodology automated system which performs the expertise psycho semantic audio products. Keywords: conceptual design, information psychological security, psychology, information technology, digital signal processing. MODELS OF INFERENCE IN THE EXPERT SYSTEMS OF PSYCHO-PHYSIOLOGICAL DIAGNOSTICS Ermakov A.E., Ph.D. (S.M. Kirov Military Medical Academy, St. Petersburg, alerma@rambler.ru) Abstract. The different models of straight inference of diagnostic conclusion are considered in the class of the expert systems of psychological and physiological diagnostics, created within the framework of the problemoriented computer-aided technology, and also features of organization of calculations in these expert systems at the use of the examined models of conclusion. Keywords: expert diagnostic system, the automated creation of expert systems, software tool, the interpreter descriptions of expert systems, the diagnostic conclusion, model of inference of diagnostic conclusion, computational procedure, rule’s diagnostic value, computable diagnostic indicator, forming diagnostic indicator. 163 Программные продукты и системы № 2, 2012 г. TIME ANALYSIS OF HANDLING OF CONFLICT TRANSACTIONS IN ORACLE ENTERPRISE MANAGER AND ERRMANAGER Bazilevskiy E.V. (Surgut State University, chester917@yandex.ru) Abstract. Time estimates of conflict transactions’ processing by Oracle Enterprise Manager and the selfdeveloped application ErrManager have shown that the latter can significantly improve the efficiency of conflict transactions’ resolving and reduce not only maintenance costs of industrial database, but costs, resulting of enterprise information systems’ delays and failures. Keywords: database, data replication, replication conflicts, Oracle. METHODS REACTIVATE THE APPLICATION Udovichenko A.O. (Moscow State University of Railway Engineering, aspudovichenko@mail.ru) Abstract. New software rejuvenation methods exploiting virtualization is proposed in the paper. The methods focus on server rejuvenation independent of software aging sources and without request loss. Results of the experiments are provided proving the efficiency of the proposed method set. Keywords: software, aging, rejuvenation, server, virtual machine, efficient. SIMULATION MODEL FOR EVALUATING EFFICIENCY OF MULTIPROCESSING FOR A SET OF PARALLEL ALGORITHMIC STRUCTURE Gertsenberger K.V. (Joint Institute for Nuclear Research, Dubna, gertsen@jinr.ru); Chepin E.V., Ph.D. (National Nuclear Research University «MEPhI», Moscow, Moscow Institute of Physics and Technology, Dolgoprudny, pin@gmail.com) Abstract. The effectiveness of parallel processing depends on the type of algorithm parallelization and hardware architecture. It is important to estimate the projected effectiveness of problem parallelization for a particular hardware platform at the earliest stage of parallel software development. For this purpose, a simulation model of the future performance of hardware-software system are encouraged to develop for a set of parallel algorithmic structure – parallel algorithm. Keywords: simulation model, the prediction of performance, distributed computing, parallel hardware architecture, parallel algorithmic structure, parallel software. TECHNOLOGY OF CREATION OF EXPERT SYSTEMS FOR OPERATIVE DIAGNOSTICS OF THE EQUIPMENT OF NUCLEAR POWER UNITS Bashlykov A.A., Ph.D. (National Research University «MPEI», Moskow, bashlykovAA@mpei.ru) Abstract. The technology of creation of diagnostic expert systems of real time for an assessment of a condition of difficult technological objects is considered. As an example of difficult object the power unit of a nuclear power plant is considered. Two components expert system of not operative and operative contours of diagnosing are allocated and described. Principles of decomposition of the equipment of the power unit are shown. The description of architecture of diagnostic system is provided. The user interfaces of experts and operators of the power unit are described. Keywords: expert diagnostic system, real time, difficult system, nuclear power unit, diagnostic model, bases of diagnostic knowledge, interface of the expert, interface of the operator, intellectual interface. ELECTRONIC TRAINING OF SPECIALISTS FOR THE SYSTEMS OF PROFESSIONAL DEVELOPMENT Kustov V.N., Ph.D. (Certification Centre Gazinformservis, St. Petersburg, Kustov-V@gaz-is.ru); Gilvanov R.G., Ph.D.; Novozhilova I.V., Ph.D. (Gazinformservice, St. Petersburg, Gilvanov-R@gaz-is.ru, Novojilova_I@gaz-is.ru) 164 Программные продукты и системы № 2, 2012 г. Abstract. The article deals with key issues in the organization of e-learning and the use of distance learning technologies in professional training of specialists in the complex and information security. Keywords: e-learning system, software and hardware-based complex, electronic training, distance educational technology. LEGALLY RELEVANT CROSS-BORDER ELECTRONIC INTERACTION IS REALITY NOW Kustov V.N., Ph.D.; Kiryushkin S.A., Ph.D. (Certification Centre Gazinformservis, St. Petersburg, Kustov-V@gaz-is.ru, Kiryushkin-S@gaz-is.ru); Bolshakov A.A., Ph.D. (Gazinformservis, St. Petersburg, Bolshakov-A@gaz-is.ru); Stankevich T.L. (St. Petersburg State Railway Transport University, tanjastankevich@rambler.ru) Abstract. The main idea of the article is to present developed DVCS service, its architecture, to describe services provided by DVCS, to define tasks of the system and basic tasks DVCS service subsystems, to show form of user interfaces and to provide software which is necessary for operation DVCS service. Keywords: DVCS, cross-border electronic interaction, information encryption, electronic signature. AUTOMATED CONTROL SYSTEM OF TRANSPORT OF LIQUID CARBON DIOXIDE PIPELINE Bochkarev S.V., Ph.D.; Tsaplin A.I., Ph.D.; Druz′jakin I.G., Ph.D. (Perm National Research Polytechnic University, bochkarev@msa.pstu.ru, tai@pstu.ru, druzakin@msa.pstu.ru) Abstract. Discusses the technological process of transportation of liquid carbonic acid technology pipeline. Makes the case for monitoring the process. Proposed hardware and software automation control of carbonic acid. Is the version of the technical implementation of information-measuring system. Keywords: liquid carbon dioxide, transportation, pipeline, automated system, control. INFORMATION MODEL AND MECHANISMS OF THE PROCESS TO COMMERCIALIZATIONS RESULT INNOVATIONS ACTIVITY Trusov A.V., Ph.D. (Perm National Research Polytechnic University, tav@permcnti.ru) Abstract. In work are presented information models and mechanisms of the process to commercializations result innovations activity within the framework of operation regional innovation-technological complex. They are considered information-organizing model and functional presentation information-organizing ensuring the process to commercializations result innovations to activity. Keywords: information-organizing model, management, information mechanisms, dataware. THE METHOD OF PARALLEL LOGICAL INFERENCE OF CONSEQUENCES FOR PROPOSITIONAL CALCULUS Agalakov E.V.; Strabykin D.A., Ph.D.; Tomchuk M.N., Ph.D. (Vyatka State University, Kirov, favt_agalakov@vyatsu.ru, strabykin@mail.ru, m.tomchuk@mail.ru) Abstract. A method for new facts obtaining from the current knowledge base and incoming facts is offered. A substantial and a formal statements of the problem, a formal description of the inference procedure and a description of the offered method are considered. The method operation is illustrated by an example of consequences inference. Keywords: logical inference, inference of logical consequences, parallel computing. FORMING AN INTEGRAL EFFICIENCY FACTOR OF INFORMATION SYSTEM FUNCTIONING Semenov S.A., Ph.D. (Concern «VNIINS», Moskow, sergeysemenov53@gmail.com); Arzhaev V.I., Ph.D. (Research Institute «Centrprogrammsystem», Tver, arzhaevVI@cps.tver.ru); Semenov V.S. (VA VKO, Tver, Sven298@yandex.ru); Monichev S.S. (concern «VNIINS», Moskow, sergey.monichev@gmail.com) 165 Программные продукты и системы № 2, 2012 г. Abstract. Offered an approach to creating an integral efficiency factor of information system operation using its abstract-algebraic model. Keywords: system, an integral indicator, efficiency, an abstract model. SEMI-MARKOV MODELS OF SYSTEMS WITH FUZZY PARAMETERS Glushko S.I. (Stock Company «Transneft», Moskow); Boyarinov Yu.G., Ph.D. (Smolensk Branch of the Moscow Power Engineering Institute (Technical University), midli@mail.ru) Abstract. The limitations of existing approaches to the construction and use of semi-fuzzy models for the analysis of the functioning of systems are considered. The main classes of fuzzy functions, which should be used as a fuzzy mappings in constructing models of semi-Markovian systems with fuzzy parameters, are allocated and described. An approach to the analysis of semi-fuzzy models, regardless of which of the options are clear, and which – fuzzy are presented. Keywords: fuzzy semi-Markovian model, fuzzy parameters, fuzzy function, fuzzy mapping. VARIANTS CONSTRUCTIONS OF ALGORITHM SEARCH SOLUTION OF INVERSE PROBLEMS USING NEURAL NETWORKS Pavlov D.A.; Puchkov A.Yu., Ph.D. (Smolensk Branch of the Moscow Power Engineering Institute (Technical University), putchkov63@mail.ru) Abstract. Two variants of the algorithm of numerical solution of inverse problems using artificial neural networks and pre-treatment measurements of the discrete Kalman filter are considered. Keywords: inverse problems, neural networks, the Kalman filter. EXPERIMENTAL ACKNOWLEDGEMENT OF CONSISTENCY OF ESTIMATIONS OF DIFFICULTY OF TASKS OF A TEST Eliseev I.N., Ph.D. (South-Russian State University of Economics and Service, Shakhty, ein@sssu.ru) Abstract. The results of numerical experiments confirmed the consistency of maximum likelihood estimates of the latent parameter «difficulty of the task» Rush's dichotomous one-parameter model at the fixed number of tasks of test L of identical test difficulty and indefinitely increasing the sample size of students N. It is shown, that under the same conditions of estimation θ*n of level of preparation of n-th student, calculated from the permissible dichotomous response matrix, tend in probability to their original estimates θon . Keywords: dichotomizing matrix, test, solvency of estimations, test’s task, latent parameter, Rush's model. SOFTWARE TOOL FOR SIMULATION MODELING WITH THE GRAPH MODELS Karpukhin I.N.; Korablin Yu.P., Ph.D. (Russian State Social University, surstrat@mail.ru; y.p.k@mail.ru); Neznanov A.A., Ph.D. (National Research University «Higher School of Economics», aneznanov@hse.ru) Abstract. We introduce the original program package G-IPS Ultimate intended for simulation modeling of systems (including real-time modeling). The simulation model is represented by set of decision graphs of special kind, which allows to defining a fuzzy models of system. According to the obtained results we made up conclusions on the future development of the proposed methods and the practical application of the software. Keywords: simulation modeling, graph model, expert knowledge, production knowledge, software complex. 166 Программные продукты и системы № 2, 2012 г. С О Д Е Р Ж А Н И Е Виноградов Г.П., Палюх Б.В. Механизмы управления эволюцией организационно-технологической системы........................................................................... 3 Виноградов Г.П., Кузнецов В.Н., Богатиков В.Н. Модель принятия решений целеустремленного поведения агента в слабоструктурированных средах ..................... 9 Веселов А.А. Компонентный подход к построению распределенных имитационных моделей ........................................................................................................... 16 Григорьев В.А., Тимофеев С.Ю. Параллельная обработка данных в программном обеспечении систем планирования использования воздушного пространства ........................................................................................................ 19 Жиганов Н.К., Фомина Е.Е. Программа выбора технологических режимов дискретно-непрерывного литья цветных металлов и их сплавов...................................... 23 Горячев В.Д., Зимка М.С. Система моделирования потоков и динамики прохождения рыбы в рыбопропускных сооружениях ..................................... 26 Христенко Д.В., Логинов И.В. Экспертно-моделирующие системы в управлении ИТ-инфраструктурой ........................................................................................ 29 Зайцев Д.К., Смирнов П.Е., Якубов С.А., Балашов М.Е. Комплекс программ для создания блочно-структурированных сеток................................................................... 32 Захарченко С.С. Сложность проверки модели параллельных программных систем ................................................................................................................ 36 Москвина А.С. Метаданные мультимедийных ресурсов и онтологии ............................. 38 Логинов И.В. Управление жизненным циклом информатизированных бизнес-процессов ............................................................................ 43 Чернов А.Ф. Ускорение поиска в индексах на основе R-деревьев ................................... 46 Кольчугина Е.А. Структура цифрового организма в самоорганизующихся программных системах ............................................................................................................ 51 Мышев А.В. Метод виртуальной перспективы и моделирование в условиях ограничений и неопределенности ...................................................................... 54 Швецов А.Н., Летовальцев В.И. Мультиагентная система поиска информации на промышленном предприятии ............................................................................................. 62 Ермаков Д.Г. Уязвимость защиты веб-контента типа HTML Guardian ............................. 67 Жуков В.Г., Жукова М.Н., Золотарев В.В., Ковалев И.В. Методика построения модели безопасности автоматизированных систем ............................................................ 70 Жуков В.Г., Жукова М.Н., Стефаров А.П. Модель нарушителя прав доступа в автоматизированной системе .............................................................................................. 75 Антипов С.Г., Фомина М.В. Проблема обнаружения аномалий в наборах временных рядов.................................................................................................... 78 Русяев А.С., Русяева Т.О. Модель расчета емкости автоматического склада продукции........................................................................................ 82 167 Программные продукты и системы № 2, 2012 г. Шамаева О.Ю., Чернецов А.М. Организация эффективных вычислений для расчета электронной структуры больших молекул ...................................................... 86 Федоров Н.Ю., Черкасов О.Н., Аникеев Е.А. Выбор и распределение автотранспортных средств в жизненном цикле автотранспортного предприятия .......... 90 Гордеева Ю.Л. Алгоритмы оценки показателей процесса биосинтеза............................ 94 Бутенко Д.В., Ананьев А.С., Попов К.В. Методика концептуального проектирования программных информационных систем ..................... 101 Ермаков А.Е. Модели вывода в экспертных системах психофизиологической диагностики....................................................................................... 104 Базилевский Е.В. Временной анализ обработки конфликтных транзакций в Oracle Enterprise Manager и ErrManager ............................................................................. 110 Удовиченко А.О. Методы восстановления рабочего состояния приложения ................ 114 Герценбергер К.В., Чепин Е.В. Имитационная модель оценки эффективности многопроцессорной обработки данных для параллельных алгоритмических структур........................................................................................................ 118 Башлыков А.А. Технология построения экспертных систем для оперативной диагностики оборудования атомных энергоблоков............................... 121 Кустов В.Н., Гильванов Р.Г., Новожилова И.В. Электронное обучение специалистов в системах повышения квалификации.......................................................... 125 Кустов В.Н., Кирюшкин С.А., Большаков А.А., Станкевич Т.Л. Юридически значимое трансграничное электронное взаимодействие стало реальностью ................................................................................................................... 130 Бочкарев С.В., Цаплин А.И., Друзьякин И.Г. Автоматизированная система управления транспортировкой жидкой углекислоты по трубопроводу .............. 134 Трусов А.В. Информационные модели и механизмы процесса коммерциализации результатов инновационной деятельности ....................... 137 Агалаков Е.В., Страбыкин Д.А., Томчук М.Н. Метод параллельного логического вывода следствий для исчисления высказываний ............. 142 Семенов С.А., Аржаев В.И., Семенов В.С., Моничев С.С. Формирование интегрального показателя эффективности функционирования информационной системы ...................................................................................................... 144 Глушко С.И., Бояринов Ю.Г. Полумарковские модели систем с нечеткими параметрами ....................................................................................................... 146 Павлов Д.А., Пучков А.Ю. Варианты построения алгоритма поиска решения обратных задач с применением нейронных сетей .............................................. 149 Елисеев И.Н. Экспериментальное подтверждение состоятельности оценок трудности заданий теста............................................................................................. 153 Карпухин И.Н., Кораблин Ю.П., Незнанов А.А. Программное средство для имитационного моделирования с помощью графовых моделей................................ 156 SUMMARY .................................................................................................................................. 159 168