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

кандидата технических наук
Гаврилов, Евгений Сергеевич
город
Красноярск
год
2006
специальность ВАК РФ
05.13.01
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Модельно-алгоритмическая поддержка анализа транзакционной надежности в системах обработки информации и управления»

Автореферат диссертации по теме "Модельно-алгоритмическая поддержка анализа транзакционной надежности в системах обработки информации и управления"

На правах рукописи

л

Гаврилов Евгений Сергеевич

МОДЕЛЬНО-АЛГОРИТМИЧЕСКАЯ ПОДДЕРЖКА АНАЛИЗА ТРАНЗАКЦИОННОЙ НАДЁЖНОСТИ В СИСТЕМАХ ОБРАБОТКИ ИНФОРМАЦИИ И УПРАВЛЕНИЯ

05.13.01 — Системный анализ, управление и обработка информации

Автореферат

диссертации на соискание ученой степени кандидата технических наук

Красноярск - 2006

Работа выполнена в Научно-исследовательском институте систем управления волновых процессов и технологий

Научный руководитель: доктор технических наук,

профессор Ковалев Игорь Владимирович

Официальные оппоненты: доктор технических наук,

профессор Булгаков Николай Фёдорович

Ведущая организация: Сибирский государственный технологический университет

Защита состоится «12» мая 2006 года в 14.00 часов на заседании диссертационного Совета Д212.046.01 при Научно-исследовательском инс] и гу 1 е систем управления волновых процессов и технологий по адресу: 660028, Красноярск, ул. Баумана, 20В.

С диссертацией можно ознакомиться в библиотеке НИИ СУВПТ.

Автореферат разослан «11» апреля 2006 года.

Ученый секретарь

кандидат технических наук, доцент Пупков Александр Николаевич

диссертационного совета

Н.А. Смирнов

ДоовА

ЩЪ

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

программном средстве модель транзакционных

БИБЛИОТЕКА 3 С.-Петербург

ОЭ чтбакхЗ^'У

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

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

- анализ существующих архитектурных структур программного обеспечеия систем обработки информации и управления;

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

разработка алгоритмов управления параллельными транзакциями в многопользовательских системах обрабохки информации и управления ;

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

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

применение системы при реализации реальных проектов разработки программных средств систем ЕЯР-класса.

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

Научная новизна работы:

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

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

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

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

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

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

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

Реализация результатов работы. Диссертационная работа выполнялась по проектам межотраслевых программ Минобразования России и Минатома России по направлению «Научно-инновационное сотрудничество» (проект VII-12), а также в рамках тематического плана НИИ СУВПТ (2003-2006 гг.).

При использовании системы модельно-алгоритмической поддержки анализа транзакционной надежности программных средств был реализован модуль «Модель оценки надежности» системы Microsoft Business Solutions-Axapta, используемый в ООО «Торговая фирма ФОРС».

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

На защиту выносятся:

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

- Алгоритмы управления параллельными транзакциями, основанные на многоверсионности данных в многопользовательских системах обработки информации и управления.

- Модель и алгоритм оценки транзакционной надежности объектпо-ориентированного программного обеспечения систем обработки информации и управления.

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

Апробация работы. Основные положения и результаты работы прошли апробацию на всероссийских конференциях, научных семинарах и научно-практических конференциях. В том числе: на Всеросийской научно-практической конференции «Информационные технологии и математическое моделирование» (Томск, 2004), на 48-й научно-технической конференции преподавателей, аспирантов и студентов Красноярского государственного технического университета (Красноярск, 2006), на Пленарном заседании Второй Всероссийской конференции «Молодежь и наука: начало 21-го века», посвященной 50-летию КГТУ (Красноярск, 2006), на 5-ой Всероссийской научно-практической конференции «Недра Кузбасса. Инновации» (Кемерово, 2006).

Публикации. По теме диссертации опубликовано 11 печатных работ. Полный список публикаций представлен в конце автореферата.

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

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

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

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

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

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

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

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

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

• участниками транзакций становятся бизнес - объекты, например, при построении систем в трехзвенной архитектуре;

• осуществляется создание распределенной, возможно неоднородной, базы данных.

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

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

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

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

Отмечены четыре важных свойства транзакции, известные как свойства АСИД:

• (А) Атомарность. Транзакция выполняется как атомарная операция -либо выполняется вся транзакция целиком, либо она целиком не выполняется.

• (С) Согласованность. Транзакция переводит базу данных из одного согласованного (целостного) состояния в другое согласованное (целостное) состояние. Внутри транзакции согласованность базы данных может нарушаться.

• (И) Изоляция. Транзакции разных пользователей не должны мешать друг другу).

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

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

База данных находится в согласованном (целостном) состоянии, если выполнены (удовлетворены) все ограничения целостности, определенные для базы данных. В данном утверждении важно подчеркнуть, что должны быть выполнены не все вообще ограничения предметной области, а только те, которые определены в базе данных. Для этого необходимо, чтобы СУБД обладала развитыми средствами поддержки ограничений целостности. Если какая-либо СУБД не может отобразить все необходимые ограничения предметной области, то такая база данных хотя и будет находиться в целостном состоянии с точки зрения СУБД, но это состояние не будет правильным с точки зрения пользователя. Таким образом, согласованность базы данных есть формальное свойство базы данных. База данных не понимает "смысла" хранимых данных. "Смыслом" данных для СУБД является весь набор ограничений целостности. Если все ограничения выполнены, то СУБД считает, что данные корректны. В данном разделе

рассмотрена классификация ограничений целостности по способам реализации, по времени проверки и по области действия

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

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

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

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

• Индивидуальный откат транзакции. Откат индивидуальной транзакции может быть инициирован либо самой транзакцией путем подачи команды, либо системой. СУБД можег инициировать откат транзакции в случае возникновения какой-либо ошибки в работе транзакции (например, деление на нуль) или если эга транзакция выбрана в качестве жертвы при разрешении тупика.

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

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

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

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

другу. Так как логической единицей работы для пользователя является транзакция, то работа СУБД должна быть организована так, чтобы у

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

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

В работе выявлены и подробно рассмотрены три основные проблемы параллелизма:

• Проблема потери результатов обновления.

• Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание).

• Проблема несовместимого анализа.

Основная идея управления параллельными транзакциями на основе

* многоверсионности (multiversion concurrency control, MVCC) заключается в том. что в базе данных допускается существование нескольких «версий» одного и того же элемента данных, что позволяет улучшить ряд характеристик СУБД. В данном разделе приведён ряд алгоритмов управления параллельными транзакциями' метод временных меток, многоверсионный вариант двухфазного протокола синхронизации, многоверсионный протокол для транзакций, не изменяющих данные, MVSG-планировщик.

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

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

Временную метку, полученную транзакцией ti в начале ее работы, будем обозначать как ts(ti), операцию чтения транзакцией ti элемента данных х как ri(x). Для обозначения того, что транзакция ti читает версию элемента данных X, созданную транзакцией tk, будем писать ri(xk). для обозначения того, что транзакция ti записывает версию элемента данных х, будем использовать запись wi(x) Опишем алгоритм работы планировщика MVTO.

Планировщик преобразует операцию п(х) в операцию ri fx к), где хк — это версия элемента х, помеченная наибольшей временной меткой ts(tk), такой что ts(tk) <ts(ti).

1. Операция wi(x) обрабатывается планировщиком следующим образом:

a) если планировщик уже обработал действие вида rj(xk), такое что ts(tk) < ts(ti) < ts(tj), то операция wi(x) отменяется, a ti откатывается;

b) в противном случае wi(x) преобразуется в ж (xi).

2. Завершение транзакции ti (commit) откладывается до того момента, когда завершатся все транзакции, записавшие версии данных, прочитанные ti.

Последний шаг нужен только в том случае, когда хотят предотвратить «грязное» чтение.

tJ. *}№_rifrp ,

•ЭДкМЭД W26-2}

Û-н-? I-1—-

i3(x2) rî(x0) в—н-1-----.

*4(х2> vMjA) PKV2) w4(y4) tfn-1-f-!-Abort

t5-—i--1-■

Время

Рис 1- Пример работы планировщика MVTO

На рис. 1 приведен пример работы планировщика MVTO. Взаимодействие транзакций tl и t2 отличным образом иллюстрирует плюсы использования версий. В случае подобного плана выполнения транзакций при отсутствии версионности получился бы классический случай чтения несогласованных данных. Однако в нашем примере эта ситуация вполне

приемлема из-за того, что первая транзакция читает «старую» версию элемента данных у Транзакция (3 ожидает окончания работы (2 перед собственным завершением (пунктирная линия на рис. 1). Это происходит потому, что прочитала незавершенную версию х2.

Транзакция (4 является примером «поздней» транзакции изменения. Она создает версию у4, в то время как транзакция Г5 (стартовавшая позднее) уже прочитала более раннюю версию у2. То есть транзакция /5 «не видит» некоторых изменений, внесенных 14. Таким образом, сериализация транзакций в порядке получения ими временных меток невозможна — необходим откат (пункт 2а алгоритма).

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

применение на практике оказывает существенное влияние как на физическую, так и на логическую сторону организации многоверсионной СУБД современных БИР-систем.

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

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

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

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

• данном диапазоне данных

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

Определим: /71 общее количество классов; п общее количество транзакций; Л",-класс, /=1 ,...,т;

О, - операционный профиль (множество входных диапазонов) г'-го класса, 2=1,..., т\

^ - вектор, отображающий вероятности сбоя 1-го класса для каждого входного диапазона, г-1,.. .,т;

/,1 - 1-ът элемент вектора Р,, / размерность вектора Т1 - транзакция,/=1,.. .,и;

- множество классов принадлежащиху'-ой транзакции,/=1,...,и; Ну - вектор вероятностей использования диапазона значений г'-го класса в /'ой транзакции; Иок - к-й элемент вектора #у ИТ/ - вес (надежность) 1-го класса у'-й транзакции;

п

РЦ - вероятность использованияу-й транзакции, где £ РС/ . = 1;

7 = 1 ]

Я,, - надежность /-й транзакции;

/?,г - транзакционная надежность всей системы;

Вес (надежность) г'-го классау-й транзакции определятся по формуле:

к=1

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

На рисунке 2 представлен алгоритм оценки и анализа транзакционной надежности программного обеспечения.

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

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

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

^=5X0-/»).

к~\

Надежность транзакции можно вычислить как:

п

Рис. 2 - Алгоритм оценки и анализа транзакционной надежности программною

обеспечения

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

В качестве примера в данном разделе подробно рассмотрен модуль «Сводное планирование» системы Мюгозой-Ахар1а, внедрённой в ООО «Торговая компания ФОРС».

На основании выявленных операционных профилей классов, векторов вероятностей использования диапазонов и векторов весов произведён расчёт итоговой транзакционной надёжности.

-0,999649.

Ценнос ть эксперимента заключается в том, что были выявлены классы и их входные диапазоны, которые вносят набольший вес в вероятность сбоя Это позволило уделить больше внимания тестированию и выявлению ошибок в коде и в «узких местах» тестируемой системы. Уменьшив вероятность сбоя на входных диапазонах в этих классах в два раза, было получено новое значение транзакционной надёжности.

Я* - 0,999750

Затем был произведён расчёт коэффициента готовности системы 8, информирующий о том, когда отказавшая система будет восстановлена. Для этого были получены значения ТИ. (среднее время простоя системы) и МТТТ (среднее время появления сбоя). Время появления сбоя (МПТ) и среднее время простоя системы (ТЮ характеризуют возможность архитектуры программного обеспечения по обеспечению потенциальной производительности и для достижения этой производительности после отказа.

Определим:

.Р - общее число компонент(классов) в архитектуре ПО;

РЬ', - вероятность использования компонента г, М,...,/7;

Р/7, - вероятность сбоя в компоненте г, / 1,...

РЬу - условная вероятность сбоя в компоненте /' при сбое в компоненте у,

ТА, - относительное время доступа к компоненту г, г=1,...,Г;

ТС, - относительное время анализа сбоя в компоненте г, г'= 1,...^;

ТЕ, - относительное время устранения сбоя в компоненте г-1,...^;

Т11, - относительное время использования компонента г, г'=1,..

Среднее время простоя системы рассчитывается по формуле:

ТЛ= £ \Р11 хРР.х[(ТЛ. +ТС.+ТЕ.)+ X [РЛ .х[(7М,+ГС,+7Е,)]1]] -, I 11 I г . '. ¡1 7 ] ]

г=1 у г

Среднее время появления сбоя рассчитывается по формуле: р р*

МТТР = I [Ри. х (1 - РЕ.) X [ти + I [(1 - РЬ ) хти . ]]] | = 1 ] = ]

Коэффициент готовности системы рассчитывается по формуле: 5= МТТТ/(МТТТ+ТЯ)

Были получены следующие показатели:

ТЯ = 0,000018 е.;

МТТР = 2045 е.;

8= 0,999998.

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

ТЯ = 0,000015 е.;

МТТБ - 2045,1 е.;

0,999999.

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

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

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

основных результатах, имеющих самостоятельное научное и практическое значение.

1. Произведён анализ существующих архитектурных структур программного обеспечеия систем обработки информации и управления.

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

3. Разработаны алгоритмы управления параллельными транзакциями, основанные на многоверсионности данных в многопользовательских системах обработки информации и управления .

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

компоненты системы, которые вносят наибольший вес в вероятности сбоя.

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

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

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

Основпые результаты диссертационной работы опубликованы в <

следующих работах:

1. Гаврилов, Е.С. Анализ транзакционной надёжности программного обеспечения систем обработки информации / Е.С. Гаврилов, М.Ю. Слободин // Материалы III Всероссийской научно-практической конференции «Информационный технологии и математическое моделирование», (11-12 декабря 2004г.). Ч.1.- Томск: Изд-во Том. ун-та, 2004,- с. 94-96.

2. Гаврилов, Е С. Транзакционная надёжность программно-информационных технологий в АСУ / Е.С. Гаврилов, М.А. Русаков // Вестник универсиiетского комплекса: Сб. научн трудов/ под общ. ред. проф. Н.В. Василенко; Красноярск: ВСФ РГУИТП, НИИ СУВПТ - 2004. Вып.З (17).-с. 3-15.

3. Гаврилов, Е.С. Модели и методы анализа бизнес-функций в корпоративных информационно-управляющих системах / ЕС. Гаврилов, Д.С.

Зырянов // Вестник университетского комплекса: Сб. научн. трудов/ под общ. ред. проф. Н.В. Василенко; Красноярск: ВСФ РГУИТП, НИИ СУВПТ. -

2004,- Вып.З (17). - с. 201-217.

4. Гаврилов, Е.С. Транзакционная надёжность технологии обработки данных в информационно-управляющих системах / И.В. Ковалёв, A.A. Ступина, Е.С. Гаврилов // Вестник Сибирского государственного аэрокосмического университета имени академика М.Ф. Решетнева/ под ред. проф. Г.П. Белякова; СибГАУ. Вып. 6. Красноярск, 2005. - с. 52-58

5. Гаврилов Е.С., Ковалёв И.В., Царёв Р.Ю., Слободин М.Ю. Программная система «Real-Time System Analyzer ver. 1.0» (Система оценки архитектурной надёжности телекоммуникационных систем реального времени). - М.: ВНТИЦ, 2005. - № 50200500696, Per. № ОФАП 4749.

6. Гаврилов Е.С., Ковалёв И.В., Русаков М.А., Ежеманская С.Н. Программная система «IT-Reliability Estimator ver. 1.0» (Надёжностная оценка информационных технологий при комплексной автоматизации управления предприятием). - М.: В1ИИЦ, 2005. - № 50200500391, Per. № ОФАП 4507.

7. Гаврилов Е.С., Ковалёв И.В., Антамошкин O.A., Русаков М.А. Диалоговая система оценки надёжности архитектуры программного обеспечения (Rapid Reliability ArchitecEstimator ver. 1.0)- M.: ВНТИЦ, 2005. -№ 50200500525, Per. JVo ОФАП 4623.

8. Царёв Р.Ю., Семенько Т.И., Гаврилов Е.С. Информатика и вычислительная техника. Модели формирования и алгоритмы распределённой обработки информации и управления: Учеб. пособие. Красноярск: ИПЦ КГТУ, 2005. 240с.

9. Гаврилов, Е.С. Универсальная информационная система для отслеживания жизненного цикла продукции / Е.С. Гаврилов, Н.А Алексеев, A.A. Чикизов // Вестник университетского комплекса: Сб. научн. трудов/ под общ ред проф. Н.В. Василенко; Красноярск: ВСФ РГУИТП, НИИ СУВПТ. -

2005.- Вып.6 (20). - с. 88-90.

10. Ковалёв И.В., Гаврилов Е.С. Формирование алгоритмов ' распределённой обработки и управления с учётом периодичных задач АСУ. //

Актуальные проблемы экономики, права и информационных технологий. Сборник научных статей. Красноярск: Красноярский филиал МЭСИ, 2005, Часть 1,-с. 102-107.

11. Гаврилов, Е.С. Универсальная информационная система мониторинга жизненного цикла продукции / H.A. Алексеев, Е.С. Гаврилов, М.Ю. Слободин // Материалы 5-ой Всероссийской научно-практической конференции «Недра Кузбасса. Инновации» - Кемерово: ИНТ, 2006. - с. 5152.

Д0О£р

Ш- 93 43 ^

Гаврилов Евгений Сергеевич Модельно-алгоритмическая поддержка анализа транзакционной надёжности в системах обработки информации и управления

Автореферат

Подписано в печать ¿О апре-** 2006 I. Формат 60x84/24. Бумага писчая. Уч. изд.л.1 Тираж /Ое> экз. Заказ № /90 Отпечатано в отделе множительной техники СибГАУ.

Оглавление автор диссертации — кандидата технических наук Гаврилов, Евгений Сергеевич

Введение.

1 .Моделирование программной архитектуры и транзакций на архитектурном уровне.

1.1 Моделирование программной архитектуры.

1.1.1 Определение программной архитектуры.

1.1.2 Цели использования программной архитектуры.

1.1.3 Связь внешней среды и программной архитектуры.

1.1.4 Структуры программных средств.

1.1.5 Процесс разработки и программная архитектура.

1.1.6 Связанные направления.

1.2 Моделирование транзакций на архитектурном уровне проектирования программных средств.

1.2.1 Транзакционная структура (ТС).

1.2.2 Описание транзакционной структуры на UML.

1.3 Выводы.

• 2. Транзакции в АСУИО.

2.1 Транзакции и целостность баз данных.

2.1.1 Пример нарушения целостности базы.

2.1.2 Понятие транзакции.

2.1.3 Ограничения целостности.

2.1.4 Классификация ограничений целостности.

2.1.5 Классификация ограничений целостности по способам реализации.

2.1.6 Классификация ограничений целостности по времени проверки.

2.1.7 Классификация ограничений целостности по области действия.

2.1.8 Ограничения домена.

2.1.9 Ограничения атрибута.

2.1.10 Ограничения кортежа. ьф 2.1.11 Ограничения отношения.

2.1.12 Ограничения базы данных.

2.1.13 Реализация декларативных ограничений целостности средствами SQL.

2.1.14 Синтаксис операторов SQL, использующих ограничения.

2.2 Транзакции и восстановление данных.

2.2.1 Индивидуальный откат транзакции.

2.2.2 Восстановление после мягкого сбоя.

2.2.3 Восстановление после жесткого сбоя.

2.3 Выводы.

3. Многоверсионность данных и управление параллельными транзакциями. ф 3.1 Транзакции и параллелизм.

3.2 Временные метки.

3.3 Многоверсионный вариант двухфазного протокола синхронизации.

3.4 Многоверсионный протокол для транзакций, не изменяющих данные.

3.5 MVSG-планировщики.

3.6 Проблемы реализации версионных алгоритмов.

3.7 Выводы.

4. Модель оценки транзакционной надёжности программного обеспечения в АСУИО.

4.1 Описание модели оценки транзакционной надёжности.

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

Р 4.3 Примеры решения задач и анализ результатов.

4.4 Выводы.

Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Гаврилов, Евгений Сергеевич

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

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

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

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

- анализ существующих архитектурных структур программного обеспечеия систем обработки информации и управления;

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

- разработка алгоритмов управления параллельными транзакциями в многопользовательских системах обработки информации и управления ;

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

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

- применение системы при реализации реальных проектов разработки программных средств систем ERP-класса.

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

Научная новизна работы:

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

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

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

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

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

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

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

Реализация результатов работы. Диссертационная работа выполнялась по проектам межотраслевых программ Минобразования России и Минатома России по направлению «Научно-инновационное сотрудничество» (проект VII-12), а также в рамках тематического плана НИИ СУВПТ (2003-2006 гг.).

При использовании системы модельно-алгоритмической поддержки анализа транзакционной надежности программных средств был реализован модуль «Модель оценки надежности» системы Microsoft Business Solutions-Axapta, используемый в ООО «Торговая фирма ФОРС».

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

На защиту выносятся:

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

- Алгоритмы управления параллельными транзакциями, основанные на многоверсионности данных в многопользовательских системах обработки информации и управления.

- Модель и алгоритм оценки транзакционной надежности объектно-ориентированного программного обеспечения систем обработки информации и управления.

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

Апробация работы. Основные положения и результаты работы прошли апробацию на всероссийских конференциях, научных семинарах и научно-практических конференциях. В том числе: на Всеросийской научно-практической конференции «Информационные технологии и математическое моделирование» (Томск, 2004), на 48-й научно-технической конференции преподавателей, аспирантов и студентов Красноярского государственного технического университета (Красноярск, 2006), на Пленарном заседании Второй Всероссийской конференции «Молодежь и наука: начало 21-го века», посвященной 50-летию КГТУ (Красноярск, 2006), на 5-ой Всероссийской научно-практической конференции «Недра Кузбасса. Инновации» (Кемерово, 2006).

Публикации. По теме диссертации опубликовано 11 печатных работ. Полный список публикаций представлен в конце автореферата.

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

Заключение диссертация на тему "Модельно-алгоритмическая поддержка анализа транзакционной надежности в системах обработки информации и управления"

4.4 Выводы

1. На фазе полного тестирования системы можно найти «узкие места» в системе - те компоненты, которые вносят наибольший вес в вероятности сбоя.

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

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

ЗАКЛЮЧЕНИЕ

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

1. Произведён анализ существующих архитектурных структур программного обеспечеия систем обработки информации и управления.

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

3. Разработаны алгоритмы управления параллельными транзакциями, основанные на многоверсионности данных в многопользовательских системах обработки информации и управления .

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

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

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

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

Библиография Гаврилов, Евгений Сергеевич, диссертация по теме Системный анализ, управление и обработка информации (по отраслям)

1. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. М.: Финансы и статистика, 1989.

2. Боуман Д., Эмерсон С., Дарновски М. Практическое руководство по SQL. Киев: Диалектика, 1997.

3. Брой М. Информатика. Часть 2. М.: Диалог-МИФИ, 1996.

4. Брой М. Информатика, Часть 3. М.: Диалог-МИФИ, 1996.

5. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. М.: Издательство Бином, 1998.

6. Васкевич Д. Стратегии клиент/сервер. Киев: Диалектика, 1997.

7. Гаврилов Е.С., Ковалёв И.В., Царёв Р.Ю., Слободин М.Ю. Программная система «Real-Time System Analyzer ver. 1.0» (Система оценки архитектурной надёжности телекоммуникационных систем реального времени). М.: ВНТИЦ, 2005. - № 50200500696, Per. № ОФАП 4749.

8. Гаврилов Е.С., Ковалёв И.В., Антамошкин О.А., Русаков М.А. Диалоговая система оценки надёжности архитектуры программного обеспечения (Rapid Reliability ArchitecEstimator ver. 1.0)- M.: ВНТИЦ, 2005. № 50200500525, Per. № ОФАП 4623.

9. Гилуа М.М. Множественная модель данных в информационных системах. М.: Наука, 1992.

10. Голосов А.О. Аномалии в реляционных базах данных //СУБД. 1986. - №3. С.23-28.

11. Грабер М. Введение в SQL. М.: Лори, 1996. - 379 с.

12. Грабер М. Справочное руководство по SQL. М.: Лори, 1997. - 291 с.

13. Дейт К. Введение в системы баз данных // 6-издание. Киев: Диалектика, 1998. - 784 с.

14. Диго С.М. Проектирование и использование баз данных. М.: Финансы и статистика, 1995. - 208 с.

15. Злуф М.М. Query-by-Example: язык баз данных // СУБД. 1996. - №3. - С.149-160.

16. Кириллов В.В. Структуризованный язык запросов (SQL). СПб.: ИТМО, 1994.- 80 с.

17. Кузнецов С.Д. Введение в системы управления базами данных //СУБД. 1995.-№1,2,3,4, 1996. - №1,2,3,4,5.

18. Кузнецов С.Д. Стандарты языка реляционных баз данных SQL: краткий обзор //СУБД. 1996. - №2. - С.6-36.

19. Кузнецов С.Д. Операционные системы для управления базами данных //СУБД. 1996. - №3. - С.95-102.

20. Ладыженский Г.М. Системы управления базами данных коротко о главном //СУБД. - 1995. - №1,2,3,4.

21. Мартин Д. Планирование развития автоматизированных систем. М.: Финансы и статистика, 1984. - 196 с.

22. Мейер М. Теория реляционных баз данных. М.: Мир, 1987. - 608 с.

23. Оззу М.Т., Валдуриз П. Распределенные и параллельные системы баз данных //СУБД. 1996. - №4. - С.4-26.

24. Пржиялковский В. В. Абстракции в проектировании БД // СУБД. -1998.-№1.-С.90-97.

25. Прохоров А, Определение оптимальной структуры базы данных // Informix magazine. Русское издание. 1998. - Апрель.

26. Рузинкевич М., Цикоцки А. Определение и выполнение потоков транзакций // СУБД, 1995. N 2. 106-115. N 4. 58-68.

27. Смит Д.М., Смит Д.К. Абстракции баз данных: агрегация и обобщение//СУБД, 1996. N2. 141-160.

28. Ульман Д. Основы систем баз данных. М.: Финансы и статистика, 1983.-334 с.

29. Философский словарь / Под ред. И.Т. Фролова. М.: Политиздат, 1980.

30. Хомяков Д.М.,.Хомяков П.М. Основы системного анализа. М.: Изд-во механико-математического факультета МГУ, 1996.

31. Царёв Р.Ю., Семенько Т.И., Гаврилов Е.С. Информатика и вычислительная техника. Модели формирования и алгоритмы распределённой обработки информации и управления: Учеб. пособие. Красноярск: ИПЦКГТУ, 2005. 240с.

32. Чаудхари С. Методы оптимизации запросов в реляционных системах //СУБД. 1998. - №3. - С.22-36.

33. Чен П. Модель "сущность-связь" шаг к единому представлению о данных //СУБД. - 1995. - №3. - С. 137-158.

34. Abowd G., Allen R., Gralan D. Formalizing style to understand descriptions of software architecture. Technical Report CMU-CS-95-111. Pittsburgh, 1995.

35. Allen R.J. A formal approach to software architecture: Thesis, Pittsburgh, 1997.

36. ANSI X3.135-1992, American National Standart for Information Systems Database Language - SQL, November, 1992.

37. Astrahan M.M., System R: A Relational Approach to Data Base Management //ACM Transactions on Data Base Systems. 1976. - VI, 97, June.

38. Bachmann F., Bass L., Chastek G., Donohoe P., Peruzzi F. The architecture based design method. Technical Report CMU/SEI-2000-TR-001, ESC-TR-2000-001. Pittsburgh, 2000.

39. Bass L., Clements P., Kazman R. Software architecture in practice. Reading: Addison Wesley, 1998.

40. Biliris A., Bar S., Gehani N., Jagadish H.V., Ramamritham K. ASSET: A system for supporting extended transactions // Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, pp. 44-54. Minneapolis, Minnesota, 1994.

41. Booch C., Rumbaugh J., Jacobson I. The unified modeling language user guide. Reading: Addison Wesley, 1999.

42. Budgen D. Software design. Reading: Addison-Wesley, 1994.

43. Chrysanthis P., Ramamritham K. ACTA : A framework for specifying and reasoning about transaction structure and behavior // Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data, pp. 194-203. Atlantic City, 1990.

44. Clements P.C., Northrop L.M. Software architecture: an executive overview. Technical Report CMU/SEI-96-TR-003, ESC-TR-96-003. Pittsburgh, 1996.

45. Common Business Object and Business Object Facility. OMG TC Document CF/96-01-04.

46. Edwards J., Devoe D. 3-tier client/server at work. New Work: Wiley Computer Publishing, 1997.

47. Egyed A. Integrated architectural views in UML. Technical Report USC/CSE-99-TR-514. Los Angeles, 1999.

48. Eswaran K.P., Gray J.N., Lorie R.A., Traiger I.L. The Notions of Consistency and Predicate Locks in a Data Base System //CACM. 1976. - V.19, №11.

49. Fagin R. Multivalued Dependencies and New Normal Form for Relational Databases //ACM TODS. 1977. - V.2, №3.

50. Fowler M., Scott К. UML distilled applying the standard object modeling language. Reading: Addison Wesley, 1997.

51. Gacek C. Detecting architectural mismatches during systems composition: Thesis. Los Angeles, 1998

52. Gamma E., Helm R., Johnson R., Vlisssides J."Design patterns: elements of reusable object-oriented software. Reading: Addison Wesley, 1995.

53. Garlan D., Shaw M. An introduction to software architecture // Advances in Software Engineering and Knowledge Engineering. Vol. 2, pp. 1—39. Singapore: World Scientific Publishing Company, 1993.

54. Garlan D., Monroe R., Wile D. Acme: an architecture description interchange language// Proceeding of CAS-CON*97, pp. 169-183. Toronto, 1997.

55. Gollofello J.S. Introduction to software verification and validation. SE Curriculum Module SEI-CM-13-1.1. Pittsburgh, 1988.

56. Gray J., Lorie R., Putzolu G., Traiger I. Granularity of Locks and Degrees of Consistency in a Shared Data Base //in Readings in Database Systems, Second Edition, Chapter 3, Michael Stonebraker, Ed., Morgan Kaufmann. 1994.

57. Held G.D., Stonebraker M.R., Wong E. INGRES: A Relational Data Base System //Proceedings of AF1PS National Computer Conference, Anaheim, CA, May. 1975.

58. Hoque R. CORBA 3 developer's guide. Foster City: IDG Books Worldwide, 1998.

59. Jacobson I., Booch C., Rumbaugh J. The unified software development process. Reading: Addison Wesley, 1999.

60. Kruchten P. The Rational unified process: an introduction. Reading: Addison Wesley, 1999.

61. Kruchten P. The 4+1 view model of architecture // IEEE Software. 1995. 12, N6. 42-50.

62. Medvidovic N. A classification and comparison framework for software architecture description languages. Technical Report UCI-ICS-97-02. Irvine, 1996. J

63. Meiton J., Simon A.R. Understanding The New SQL: A Comlete Guide // Morgan Kaufmann. 1993.

64. Moriconi M., Qian X., Riemenschneider R. Correct architecture refinement // IEEE Transactions on Software Engineering. 1995. 21, N 4. 356-372.

65. Morris G.R., Ferguson G.H. How architecture wins technology wars // Harvard Business Review. 1993. 86-96.

66. Moss J.E.B. Nested transactions: an approach to reliable computing. Cambridge: MIT Press, 1985.

67. Murphy G.C., Notkin D., Sullivan K. Software reflexion models: bridging the gap between source and high-level models // Proceedings of the Third ACM SIGSOFT Symposium on the Foundations, pp. 18-28. Washington, 1995.

68. OMG Unified Modeling Language Specification. Version 1.3. June 1999.

69. Orfali R., Harkey D. Client/server programming with Java and CORBA. New York: John Wiley & Sons, 1998.

70. Orfali R., Harkey D., Edwards J. The essential distributed objects. New York: Wiley Computer Publishing, 1996.

71. Perry D.E., Wolf A.L. Foundations for the study of software architecture // ACM SIGSOFT Software Engineering Notes. 1992. 17, N 4. 40-52.

72. Robbins J.E., Medvidovic N., Redmiles D.F., Rosenblum D.S. Integrated architecture description languages with a standard design method. University of California, Irvine, 1997.

73. Shaw M., Garlan D. Software architecture. London: Prentice-Hall, 1996.

74. Shaw M., Garlan D. Formulations and formalisms in software architecture // Computer Science Today. 1995. N 1000. 307-323.

75. Spencer D. Webster's new world dictionary of computer terms. New York: Prentice Hall, 1993.

76. Vaskevitch D. Client/server strategies. A survival guide for corporate reengineers. Foster City: IDG Books Worldwide, 1995.

77. What is software architecture? URL: http://www.sei.cmu.edu/architecture/definitions.html, Carnegie-Mellon University.

78. Wermelinger M. Specification, testing and analysis of (dynamic) software architecture with the chemical abstract machine. Departamento de Infomatica, Universidade Nova de Lisboa, Portugal, 1998.

79. Zloof M.M. Query By Example //Proceedings of AFIPS National Computer Conference, Anaheim, CA, May. 1975.