Разработка архитектуры построения многопоточного программного обеспечения на основе модели нейронной сети | Статья в журнале «Молодой ученый»

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

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №35 (273) август 2019 г.

Дата публикации: 02.09.2019

Статья просмотрена: 187 раз

Библиографическое описание:

Ларионов, К. О. Разработка архитектуры построения многопоточного программного обеспечения на основе модели нейронной сети / К. О. Ларионов. — Текст : непосредственный // Молодой ученый. — 2019. — № 35 (273). — С. 9-11. — URL: https://moluch.ru/archive/273/62231/ (дата обращения: 18.12.2024).



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

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

Задачи архитектуры программного обеспечения.

На уровне разработки архитектуры приложения должны решаться следующие основные задачи, важные для заказчика. [3]

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

Уменьшение затрат. Одной из целей разработки может стать уменьшение затрат, необходимых при совершении каких-либо действий. Это может осуществляться как за счет повышения продуктивности процессов, так и за счет ускорения выполнения операций. [3]

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

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

Рис. 1. Временная зависимость делегирования параметров от слоя представления до слоя данных

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

Главным достоинством существующих архитектур построения программного обеспечения является простота и доступность построения программного обеспечения, а также скорость разработки однопоточных приложений. Проблема многопоточности и связи слоев между потоками программы рассматривалась в работе «О проектировании расширяемых и отказоустойчивых систем, реализующих паттерн MVVM в рамках инфраструктуры Microsoft.NET» Беляев М. А., Беляев А. В. Однако предложенный метод распараллеливания программы на отдельные потоки внутри слоя ViewModel не ускоряет процесс разработки, так как он встраивается уже после разработки всей системы.

Ниже приведена схема потока данных от входного слоя интерфейса к выходному слою данных

VywLMbZjTQwРис. 2. Структурная схема потоков данных на основе модели нейронной сети

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

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

Рис. 3. Структурная схема построения решения многопоточного программного обеспечения на основе модели нейронной сети

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

Литература:

1 Гладышев Е. И., Мурыгин А. В. «Многопоточность в приложениях». 2012. Т. 1. № 8. С. 351–352.

2 Денискин А. В. «Многопоточность в языке программирования C#». Academy. 2017. № 2 (17). С. 21–24.

3 Архитектура программного обеспечения [Электронный ресурс] / Интернет– ресурс. — Режим доступа к статье: https://studref.com/320287/informatika/arhitektura_programmnogo_obespecheniya

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


Похожие статьи

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

Разработка КИХ-фильтра с использованием распределенной арифметической архитектуры

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

Разработка информационной системы обработки изображений с целью выделения паттернов движения человека

Разработка сложных распределённых информационных систем

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

Программное обеспечение многомерного статистического анализа

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

Разработка компонента сервера данных на основе стандарта OPC UA для подсистемы электроавтоматики

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

Похожие статьи

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

Разработка КИХ-фильтра с использованием распределенной арифметической архитектуры

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

Разработка информационной системы обработки изображений с целью выделения паттернов движения человека

Разработка сложных распределённых информационных систем

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

Программное обеспечение многомерного статистического анализа

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

Разработка компонента сервера данных на основе стандарта OPC UA для подсистемы электроавтоматики

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

Задать вопрос