Паттерн микроядра, к сожалению, не является шаблонным. В каждой конкретной задаче реализация программного средства будет отличатся. Помимо решений о функционале ядра, ключевым моментом в реализации данной архитектуры является выбор способа регистрации плагина в системе. В настоящее время существуют следующие подходы к решению этой проблемы.
1.OSGi (open service gateway initiative) – спецификация динамической модульной системы и сервисной платформы для Java-приложений – определяет модель для построения приложения из компонентов, связанных вместе посредством сервисов. Суть заключается в возможности переинсталлировать динамически компоненты и составные части приложения без необходимости останавливать и перезапускать его.
2.Создание реестра модулей расширения — этот реестр содержит информацию о каждом подключаемом модуле, включая его имя, контракт данных
исведения о протоколе удаленного доступа (в зависимости от того, как подключаемый модуль подключен к основной системе).
3.Веб-службы (системные вызовы) являются основным способом связи как с монолитными, так и с микроядрами. Использование ядра интерфейса системных вызовов может обеспечить многочисленные методы IPC (такие как сигналы, общая память, передача сообщений). В связи с характером микроядер IPC обычно является наиболее важной частью такого ядра и используется для обеспечения связи программ с серверами.
4.Прямая привязка типа точка-точка т. е. создание экземпляра объекта. Рассмотрев возможные готовые решения подключения плагинов к про-
граммному средству, было решено использовать следующую схему: при подключении плагина, содержащего новый метод обработки данных, в меню ядра должно появляется его название, комментарии и инструкции по использованию, данные редактируемые и загружаемые в приложении должны передаваться в новый модуль обработки, результаты обработки в модуле должны быть доступны для загрузки, повторной обработки и просмотра в ядре. Одновременно с этим, происходит регистрация плагина в реестре, куда заносятся основные данные для подключения: имя, контракт входящих/ исходящих данных. Диаграмма последовательности регистрации плагина в системе представлена на рис. 3.
Разработка приложений с возможностью расширения пользовательскими надстройками (плагинами) позволяет создать более гибкую и персональную систему, с теми функциями, которые нужны пользователю, не утяжеляя интерфейс приложения редко используемыми инструментами, что делает ее более быстрым и производительным, по сравнению с монолитными приложениями. Добавление новых плагинов никак не влияет на работоспособность остальных частей программного средства и позволяет наращивать функционал по мере необходимости.
90
:Пользователь |
|
|
|
|
:Плагин |
|
|
|
|
|
|
:Ядро |
|
|
|
|
|
|
|
:Реестр |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
подключение плагина |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сообщение о регистрации |
|
|
|
|
|
|
|
добавлениезаписи оплагине |
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в реестр |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ответ ядра/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ответ реестра о регистрации |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
сообщение пользователь |
|
|
|
|
|
|
обновление интерфейса |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
о регистрации плагина |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
ввод данных ивыборспособаобработки |
|
|
|
|
|
поиск в реестре нужного плагина |
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ответ реестра |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
передача данных для обработки |
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
обработка данных
результат обработки
Рис. 3. Регистрация модуля расширения в системе
Литература
1.Richards M. Software Architecture Patterns – O'Reilly Media, Inc .– 2015 - ISBN: 9781491971437. URL:https://www.oreilly.com/library/view/software-archi- tecture-patterns
2.Chris Richardson. Microservice Architecture. 2018. [Электронный ресурс] URL: https://microservices.io/patterns/microservices.html
3.ITT Technical Institute San Bernardino campus. 2016. [Электронный ресурс] URL: https://www.coursehero.com/file/p3s9m7c/Disadvantages-in-the- microkernel-exist-however-A-few-examples-are-o-Larger/
4.Phil Wittmer. Microservices Disadvantages & Advantages [Updated 2019] – Tiempo. 2019. [Электронный ресурс] URL: https://www.tiempodev.com /corpo- rateblog/disadvantages-of-a-microservices-architecture
5.Машнин Т. С. Современные Java -технологии на практике. — БХВ-
Петербург, 2010. — С. 196–200. — ISBN 978-5-9775-0561-1.
6.Donggang Cao, Hong Mei, Qianxiang Wang, Gang Huang Software Institute, Peking University. 2005. [Электронный ресурс] URL: https://www. researchgate.net /publication/268380869
7.Buschmann, Meunier, Rohnert, Sommerlad, Stal, Pattern-Oriented Software Architecture - A System of Patterns, Wiley, 1996.
8.Sun Microsystems Inc., Java™ 2 Platform Enterprise Edition Specification, v1.3, 7/2017.
ФГБОУ ВО «Воронежский государственный технический университет», Россия
91
УДК 681.3
Ю.А. Клименко
ОПТИМИЗАЦИОННОЕ МОДЕЛИРОВАНИЕ РАСПРЕДЕЛЕННЫХ ЭЛЕКТРИЧЕСКИХ СИСТЕМ
При рассмотрении особенностей распределения электроэнергии практикам и исследователям приходится сталкиваться с различными режимами оптимизации. Оптимизируются параметры и режимы в системах, связанных с передачей и распределением электрической энергии.
Первые проблемы возникают для стадий, когда проектируются особенности работы или конструкций в электрических сетях. Эксплуатация сетей подразумевает оптимизацию по режимам в текущей работе [1].
Следует отметить необходимость использования больших материальных затрат, когда сооружаются, проектируются, а также эксплуатируются объекты в электрических сетях.
Необходимо стремиться к максимальной эффективности использования подобных затрат.
Поскольку электроэнергетические системы являются довольно сложными, то ошибки, допущенные на начальных этапах их разработки, в дальнейшем приведут к тому, что последствия будут весьма существенные.
Исправить их будет труднее, чем сразу [2]. Проявиться ошибки могут не
зразу.
Не всегда при этом можно спрогнозировать значения нагрузок по определенным узлам в сетях. Это происходит вследствие неопределенности, недостаточной достоверности в исходной информации. Задают три уровни нагрузок, когда при решении подобных задач применяется упрощенный подход. Затем параметры выбираются по всем выбранным уровням.
Затем проводится выбор решения. Например, можно при этом опираться на экспертные подходы.
Критерий оптимизации необходимо выбирать исходя из того, какие параметры оптимизируются. В ряде случаев необходимо привлекать несколько критериев, а не один.
Они рассматриваются как показатели эффективности решений. Тогда решается многокритериальная (многоцелевая) задача.
Характеристики пропускной способности сетей, надежности, данные капитальных затрат могут рассматриваться как критерии.
Различные авторы приводят большое число методов решения многокритериальных задач, связанных с электроэнергетикой [3].
Если есть возможности, то к однокритериальной задаче сводятся подобные многокритериальные задачи. В них процесс оптимизации параметров объ-
92
ектов проходит на базе одного критерия. Он принимается принятому за главный. Ограничения рассматриваются в виде других критериев.
Начиная с проектных решений, уже приходится решать задачи [4], связанные с оптимизацией. Тогда выбирается конфигурация сетей, номинальное напряжение в линиях, значения площадей сечений в проводах и др.
Для достижения оптимального управления режимами можно применять разные подходы:
−в электрических сетях выбирается конфигурация;
−делается выбор требуемого оборудования;
−проводится управлением параметрами режимов в энергосистемах. Существует большое число управляемых элементов, а также необходи-
мость использования разных регулируемых и настраиваемых параметров. Их необходимо поддерживать в качестве оптимальных для больших территорий. В этом заключаются сложности в оптимальном управлении режимами.
Литература
1.Чернышов, И.Г. Применение интеллектуальных технологий в инфор- мационно-измерительных системах / И.Г. Чернышов, Д.Г. Тимохин, Г.В. Сысоев, А.В. Шапаев // Вестник Воронежского института высоких технологий. 2018. № 1 (24). С. 95-98.
2.Преображенский, Ю.П. Некоторые этапы истории развития информатики и вычислительной техники / Ю.П. Преображенский, Д.В. Жилин // Вестник Воронежского института высоких технологий. 2018. № 3 (26). С. 37-39.
3.Кравцова, Н.Е. Проблемы развития солнечной энергетики / Н.Е. Кравцова, А.П. Преображенский // Вестник Воронежского института высоких технологий. 2018. № 4 (27). С. 20-22.
4.Львович, И.Я. Проблемы создания интеллектуальных систем / И.Я. Львович, Н.Е. Кравцова, Ю.Л. Чупринская // Вестник Воронежского института высоких технологий. 2018. № 2 (25). С. 13-15.
АНОО ВО «Воронежский институт высоких технологий», Россия
УДК 681.3
В.А. Ки-Ян-Шуй, Л.А. Коробова
ОПТИМИЗАЦИЯ СОСТАВЛЕНИЯ ГРАФИКА ОТПУСКОВ
Ежегодный оплачиваемый отпуск — это непрерывный отдых в течение определенного количества дней подряд, который предоставляется всем работ-
93
никам для восстановления работоспособности с сохранением места работы (должности) и среднего заработка (ст. 114 ТК РФ).
График отпусков – это расписание предоставления ежегодных отпусков, которое обычно устанавливается администрацией. Он составляется и утверждается на каждый календарный год.
Задача составления графика отпусков довольно непроста [1, 3]. Составление графика вручную требует очень много времени, поэтому я вношу предложение о том, чтобы разработать такую систему, которая бы позволила составлять график в автоматическом режиме.
При рассмотрении ручного варианта составления графика отпусков, были рассмотрены основные информационные потоки, необходимые для составления самого графика. Основные потоки представлены на рис. 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Результаты |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
аттестации |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
Трудовой |
|
|
|
Коллективны |
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
рабочего |
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
договор |
|
|
|
|
|
й договор |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
места |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данные о |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
График |
|
|
|
||
|
сотрудниках |
|
|
|
Составление графика отпусков |
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
отпусков |
|
|
|||||||||||||||||||||
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Данные об |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Приказ об |
|||||||||
|
|
отпусках |
|
|
A0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
отпусках |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Админис |
|
|
|
Сотрудн |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
трация |
|
|
|
|
ики |
|
|
|
|
|
|
|
|
||||||
Рис. 1. Структурная схема IDEF0
Как видно из контекстной диаграммы IDEF0 (рис. 1), данные о сотрудниках и данные об отпусках являются основными входными потоками [2].
Чему должен подчиняться процесс составления отпусков? Этот вопрос подробно освещается в трудовом договоре, опирающийся на трудовой кодекс РФ, в коллективном договоре, а также это зависит от результатов аттестации некоторых рабочих мест.
Сотрудники организации и сама администрация являются механизмом управления.
На выходе данного процесса мы будем иметь уже составленный и утвержденный график отпусков.
Рассмотрим данную задачу в рамках составления графика отпусков сотрудником администрации. В задаче составления графика отпусков можно выделить 3 основные этапа:
−рассчитать для каждого сотрудника количество дней отпуска;
−составить график отпусков;
−утвердить график и составить приказ об отпусках. Декомпозиция [2] представлена на рис. 2.
94