Научная статья на тему 'Мультиверсионный синтез программного обеспечения'

Мультиверсионный синтез программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
140
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / SOFTWARE / ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ / INFORMATION MANAGEMENT SYSTEMS / МУЛЬТИВЕРСИОННОСТЬ / MULTIVERSIONING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Царев Р.Ю., Семенько К.А., Брезицкая В.В., Храпунова В.В., Демиш А.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Царев Р.Ю., Семенько К.А., Брезицкая В.В., Храпунова В.В., Демиш А.В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MULTIPLE VERSION SYNTHESIS OF SOFTWARE

The multiple version approach to the design and development of software is described; it has got increased reliability and fault tolerance. The various aspects of the software life cycle are taken into consideration.

Текст научной работы на тему «Мультиверсионный синтез программного обеспечения»

Программные редктва и информационные технологии

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

Библиографические ссылки

1. Макконнелл С. Совершенный код. Мастер-класс. М. : Русская редакция ; СПб. : Питер, 2005. 896 с.

2. Микрин Е. А. Бортовые комплексы управления космическими аппаратами и проектирование их программного обеспечения. М. : Изд-во МГТУ им. Н. Э. Баумана, 2003. 336 с.

3. Boehm B., Turner R. Balancing Agility and Discipline: A Guide for the Perplexed. Boston, MA: Addison-Wesley, 1990. 268 p.

4. Card D. A Software Technology Evaluation Program // Information and Software Technology 29, no.6 (July/August), 2007. P. 291-300.

References

1. Makkonnell S. Sovershennyj kod. Master-klass / S. Makkonnell. M. : Izdatel'sko-torgovyj dom «Russkaja redakcija»; SPb. : Piter, 2005. 896 s.

2. Mikrin E. A. Bortovye kompleksy upravlenija kosmicheskimi apparatami i proektirovanie ih programmnogo obespechenija / E. A. Mikrin. M. : Izdatel'stvo MGTU im. N. Je. Baumana, 2003. 336 s.

3. Boehm B., Turner R. Balancing Agility and Discipline: A Guide for the Perplexed. Boston, MA: Addison-Wesley, 1990. 268 p.

4. Card D. A Software Technology Evaluation Program // Information and Software Technology 29, no.6 (July/August), 2007. P. 291-300.

© Царев Р. Ю., Литошик С. В., Бахмарева К. К., Ефремова С. В., Сидорова Г. А., 2013

УДК 681.518

МУЛЬТИВЕРСИОННЫЙ СИНТЕЗ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ*

Р. Ю. Царев2, К. А. Семенъко1, В. В. Брезицкая2, В. В. Храпунова2, А. В. Демиш2

1ЗФ ОАО «ГМК «Норильский никель» Россия, 663300, Красноярский край, г. Норильск, пл. Гвардейская, 2 2Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Россия, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

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

Ключевые слова: программное обеспечение, информационно-управляющие системы, мулътиверсионностъ.

MULTIPLE VERSION SYNTHESIS OF SOFTWARE

R. Ju. Tsarev1, K. A. Semenko2, V. V. Brezitskaya2, V. V. Hrapunova2, A. V. Demish2

'MMC Norilsk Nickel Polar Division 2, Gvardeiskaya Square, Norilsk, 663300, Russia 2Siberian State Aerospace University named after academician M. F. Reshetnev 31, "Krasnoyarsky Rabochy" Av., Krasnoyarsk, 660014, Russia

The multiple version approach to the design and development of software is described; it has got increased reliability and fault tolerance. The various aspects of the software life cycle are taken into consideration.

Keywords: software, information management systems, multiversioning.

На сегодняшний день разработаны различные ме- включаются несколько программных компонент, дуб-тоды проектирования отказоустойчивого программ- лирующих друг друга по своему целевому назначе-ного обеспечения [1]. Среди них одним из наиболее нию. Мультиверсионное программирование позволя-перспективных является метод мультиверсионного ет добиться программной избыточности, призванной проектирования. Он состоит в том, что в систему предупредить случайные сбои.

*В рамках тематического плана № 8.5534.2011 «Модели, методы и алгоритмы синтеза и управления развитием отказоустойчивых программных архитектур распределенных информационно-телекоммуникационных систем».

Решетневскуе чтения. 2013

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Библиографические ссылки

1. Соммервилл И. Инженерия программного обеспечения. Вильямс, 2002. 624 с.

2. Поздняков Д. А., Слободин М. Ю. Обеспечение независимости модулей мультиверсионного программного обеспечения на стадии исполнения / Вестник университетского комплекса. Вып. 6(20). Красноярск : НИИ СУВПТ, ВСФ РГУИТП, 2005. С. 185-196.

3. Гаврилов Е. С., Ковалев И. В., Ступина А. А. Транзакционная надежность технологии обработки данных в информационно-управляющих системах / Е. С. Гаврилов, // Вестник СибГАУ. 2005. Вып. 6. С. 52-58.

References

1. Sommervill I. Inzhenerija programmnogo obespechenija. Vil'jams, 2002. 624 s.

Программные средства и информационные технологии

2. Pozdnjakov D. A. Obespechenie nezavisimosti modulej mul'tiversionnogo programmnogo obespechenija na stadii ispolnenija / D. A. Pozdnjakov, M. Ju. Slobodin // Vestnik universitetskogo kompleksa. Vyp. 6(20). Krasnojarsk: NII SUVPT, VSF RGUITP, 2005. S. 185-196.

3. Gavrilov E. S. Tranzakcionnaja nadezhnost' tehnologii obrabotki dannyh v informacionno-upravljajushhih sistemah / E. S. Gavrilov, I. V. Kovalev, A. A. Stupina // Vestnik Sib. gos. ajerokosmich. un-ta. 2005. Vyp. 6. S. 52-58.

© Царев Р. Ю., Семенько К. А., Брезицкая В. В., Храпунова В. В., Демиш А. В., 2013

УДК 004.3

ПЕРСПЕКТИВЫ РАЗВИТИЯ ДАТА-ЦЕНТРОВ В РОССИИ

М. С. Яковлева, В. В. Кукарцев

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Россия, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31 Е-mail: yakovlev-93@mail.ru

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

Ключевые слова: дата-центр, информационные услуги, сервер.

DATA CENTER DEVELOPMENT PROSPECTS IN RUSSIA

M. S. Yakovleva, V. V. Kukartsev

Siberian State Aerospace University named after academician M. F. Reshetnev 31, "Krasnoyarsky Rabochy" Av., Krasnoyarsk, 660014, Russia. E-mail: yakovlev-93@mail.ru

The comparison between data-centers in Russia and abroad is presented, the problems of Russian data-centers and their development prospects are identified.

Keywords: data-center, information services, server.

Одна из отличительных черт современного Интернета - быстрый рост качества услуг и технологий. Внедрение новых технологий требует, как правило, большой емкости каналов, дискового пространства и высокой производительности серверов. В связи с этим постоянно растет необходимость в дата-центрах или центрах обработки данных [1].

Дата-центром (центр хранения и обработки данных) называется специализированное здание для размещения серверного и сетевого оборудования и подключения абонентов к каналам сети Интернет. Дата-центр исполняет функции обработки, хранения и распространения информации, как правило, в интересах корпоративных клиентов - он ориентирован на решение бизнес-задач путём предоставления информационных услуг [2].

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

Несмотря на развитие дата-центров в России, предложение размещения сервера за рубежом по-

прежнему остаётся актуальным. Ключевыми факторами здесь выступают стабильность, безопасность, надежность вместе со средними по рынку ценами за аренду и трафик. Например, крупнейший российский поисковик «Яндекс» купил за 1,5 млн евро участок земли площадью 8 га у муниципалитета Мянтсяля в 60 км к северу от Хельсинки. Мянтсяля оказался оптимальным местом для дата-центра: он недалеко от России, здесь ниже цена земли и электроэнергии, «правильный» северный климат, позволяющий обеспечить охлаждение серверов, а местные власти обещают поддержать российскую компанию. Кроме того, готовая инфраструктура позволяет серьезно сократить сроки запуска [4].

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

Российский рынок коммерческих дата-центров в 2012 году вырос на 22,8 %, и его объем составил 6,2 млрд рублей. Такие данные приводит аналитическое агентство Ж^-сошиШ^ в рамках своего рейтин-

i Надоели баннеры? Вы всегда можете отключить рекламу.