11 - 2009

Обеспечение надежности производственных информационных систем

Константин Садовский (Аспирант кафедры экономики и организации производства (ИБМ-2) МГТУ
им. Н.Э. Баумана. Технический директор производственной группы «МИРЕЛЛИ»)

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

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

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

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

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

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

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

Таким образом, при планировании мероприятий по обеспечению надежности производственных автоматизированных систем перед поставщиком решений стоит ряд изначально противоречивых задач:

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

Очевидно, что однозначное одновременное решение всех четырех задач получить невозможно. Как правило, процесс проектирования информационных систем САПР является компромиссным и проходит в несколько итераций по путям решения задач в порядке, изложенном ранее.

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

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

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

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

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

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

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

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

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

Полученные в ходе испытаний слабые стороны эталонного программно­аппаратного комплекса являются основой для проектирования средств обеспечения требуемой надежности.

В зависимости от конкретных программных и аппаратных систем применяется один из двух подходов к обеспечению надежности:

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

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

По способу реализации отказоустойчивость подразделяется на активную и пассивную.

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

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

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

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

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

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

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

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

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

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

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

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

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

Для снижения временных и финансовых затрат на испытания применяют специальные приемы:

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

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

Последней из поставленных при разработке задач является ограничение влияния человеческого фактора.

Основной особенностью этой задачи, как показала практика, является зримое или незримое ее присутствие в каждом из бизнес­требований.

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

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

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

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

Второе обстоятельство вынуждает конечного исполнителя неоправданно требовать все больше и больше ограниченных и дорогих вычислительных ресурсов.

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

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

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

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

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

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

Даже успешно проведя испытания, нельзя успокаиваться или расслабляться.

САПР и графика 11`2009