Библиографическое описание:Архитектура программного обеспечения для высоконадежных систем : научное издание / А. В. Караванов, Н. Д. Иванов. - Текст : непосредственный // Космические аппараты и технологии. - 2018. - Т. 2, № 2. - С. 100-104. - ISSN 2618-7957, DOI 10.26732/2618-7957-2018-2-100-104. Перевод заглавия: Software architecture for highly reliable systems
Аннотация:В статье рассматривается проблема построения программного обеспечения для высоконадежных систем. Исследуются основные критерии, позволяющие оценить эффективность спроектированной архитектуры программного обеспечения. Приводится их краткое описание. Программное обеспечение с большим спектром выполняемых задач разрабатывается по модульному типу. Программа делится на модули по их функциональному назначению. Предлагается выделить модуль в отдельную программу для повышения отказоустойчивости программного обеспечения в высоконадежных системах. Приводится пример построения предложенной архитектуры с разбиением программного обеспечения на модули (программы) по функциональному назначению. С этой целью разработана программа-посредник, при помощи которой модули обмениваются информацией. Взаимодействие между модулями и программой-посредником может происходить при помощи различных технологий (TCP/IP, общие файлы, разделяемая память и т. д.). В приведенном примере взаимодействие было реализовано при помощи протокола сетевого взаимодействия TCP/IP, а также проведен эксперимент для сравнения монолитно построенной программы и программы, сделанной по предложенной архитектуре. В рамках эксперимента источник данных передавал пакеты через программное обеспечение, реализованное на основании предложенной архитектуры. За критерий надежности программного обеспечения принято количество доставленных пакетов. Данный эксперимент подтвердил преимущество надежности программного обеспечения, построенного по предложенной архитектуре.
The problem of building software for highly reliable systems is considered in the article. The criteria that allow us to evaluate the effectiveness of software architecture were considered first. The brief description of these criteria was given. Software with a wide range of tasks is built in a modular manner. The program is divided into modules for their functional purpose. It is proposed to allocate a separate module in the program to improve the software fault tolerance in highly reliable systems. An example is given of constructing the proposed architecture with a breakdown of the software into modules (programs) for a functional purpose. For this purpose, an intermediary program has been developed, through which the modules exchange information. The interaction between the modules and the mediation program can occur through various technologies (TCP/IP, shared files, shared memory, etc.). The interaction was realized using the network protocol TCP/IP in the example. To compare the monolithically constructed program and the program made on the proposed architecture, an experiment was conducted. The data source passed packets through the built-in software. The number of delivered packages was taken as a criterion for software reliability. The software was built according to the proposed architecture. The experiment demonstrated the advantage of the built-in software.