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

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

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

Автор:

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

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

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

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

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

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



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

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

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

На уровне разработки архитектуры приложения должны решаться следующие основные задачи, важные для заказчика. [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, повышение эффективности управления, уменьшение затрат.


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

Аппаратная реализация искусственных нейронных сетей. Часть 1

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

Исполняемый алгоритм обучения опирается на программное обеспечение, но использует аппаратные

Распознавание речи на основе искусственных нейронных сетей.

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

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

Повышение точности и сокращение времени планирования...

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

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

Нейронные сети в системах управления процессами...

Библиографическое описание: Зарубин М. Ю. Нейронные сети в системах управления

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

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

Моделирование операционной системы реального времени...

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

Анализ построения программного обеспечения для отработки...

· специальное программное обеспечение (СПО), зашиваемое в ЦПМ, выполнено в технологической среде разработки программного обеспечения ЦПМ, поставляемой ФГУП НИИ «Субмикрон» и полностью поддерживает разработанный протокол.

Программные компоненты многопроцессорных устройств

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

Нейросетевые технологии адаптивного обучения и контроля...

Нейронные сети в процессе работы накапливают информацию, и эффективность их со

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

3. Ермаков А. В. Методика обучения структурированию учебной информации как основа...

Автоматизация как способ повышения эффективности бизнеса

Библиографическое описание: Вильманс В. С. Автоматизация как способ повышения эффективности

Главным отличием автоматизации от других подходов управления является полное или

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

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

Аппаратная реализация искусственных нейронных сетей. Часть 1

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

Исполняемый алгоритм обучения опирается на программное обеспечение, но использует аппаратные

Распознавание речи на основе искусственных нейронных сетей.

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

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

Повышение точности и сокращение времени планирования...

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

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

Нейронные сети в системах управления процессами...

Библиографическое описание: Зарубин М. Ю. Нейронные сети в системах управления

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

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

Моделирование операционной системы реального времени...

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

Анализ построения программного обеспечения для отработки...

· специальное программное обеспечение (СПО), зашиваемое в ЦПМ, выполнено в технологической среде разработки программного обеспечения ЦПМ, поставляемой ФГУП НИИ «Субмикрон» и полностью поддерживает разработанный протокол.

Программные компоненты многопроцессорных устройств

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

Нейросетевые технологии адаптивного обучения и контроля...

Нейронные сети в процессе работы накапливают информацию, и эффективность их со

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

3. Ермаков А. В. Методика обучения структурированию учебной информации как основа...

Автоматизация как способ повышения эффективности бизнеса

Библиографическое описание: Вильманс В. С. Автоматизация как способ повышения эффективности

Главным отличием автоматизации от других подходов управления является полное или

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

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