Scientific journal
Advances in current natural sciences
ISSN 1681-7494
"Перечень" ВАК
ИФ РИНЦ = 0,775

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

Архитектура ПО рассматриваемого класса телекоммуникационных систем реального времени (ТСРВ) является модульной, иерархической и распределенной. Выделены четыре основных подсистемы [1]:

  • ПО поддержки ТСРВ;
  • ПО, обрабатывающее запросы пользователей;
  • ПО сопровождения;
  • администрирующее ПО.

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

Программная архитектура ТСРВ должна удовлетворять строгим требованиям по надежности при выполнении системных функций и запросов пользователей [2]. Некоторые аспекты исследования надежности телекоммуникационных систем описаны в [1-3]. Отмечается, что надежность архитектуры включает как надежность центрального ядра системы, так и надежность индивидуальных компонентов, предоставляемых пользователю. Сбой отдельного компонента может привести к неработоспособности этого и, возможно, других компонентов ПО, предоставляемых пользователям. Однако, это не вызывает неработоспособности всей системы в целом.

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

При анализе методов повышения надежности ТСРВ следует учитывать различные подходы для аппаратного и программного обеспечения [2]. Надежность ПО нельзя увеличить аналогично дублированию наиболее критичных по надежности архитектурных компонентов, поскольку дублирование программных компонентов приведет также и к дублированию ошибок, находящихся в них. В [1] описан метод, использующий мультиверсионность как в спецификации, так и разработке ПО, что требует независимой разработки множества версий компонент ПО, идентичных по функциональному назначению. Эксперимент, представленный в [3] показывает, что применение мультиверсионности на самых ранних этапах разработки существенно уменьшает вероятность ошибок параллельно исполняемых программных компонент.

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

СПИСОК ЛИТЕРАТУРА

  1. Ковалев И.В., Юнусов Р.В. Оценка надежности аппаратно-программного информационно - управляющего комплекса. САКС-2002: Докл. междунар. науч.-практ. конф. (6-7 дек. 2002, Красноярск)/ СибГАУ. Красноярск, 2002. С. 352-353.
  2. J. Jfelly, S. Murphy, "Achieving dependability throughout the development process: A distributed software experiment", IEEE Trans Software Engineering, vol. 16, 1999 Feb. Pp. 153-165.
  3. Y. Levendel, "Reliabaity analysis of large software systems: Defect data modeling", IEEE Trans. Software Engineering, vol. 16, 1990 Feb. Pp. 141-152.