Архив статей журнала
Предметом данного исследования является процесс разработки ПО АСУ. Объект исследования - система контроля качества этого процесса. В настоящее время нормативные документы и модели оценки качества ПО построены на основе принципа, определяющего, что качество программ проверятся на соответствие исключительно требованиям технического задания на их разработку. Но, как показала практика, такой подход не отвечает в полной мере современным условиям, обеспечивая не контроль качества, а проверку соответствия программ ожиданиям заказчика, сформулированным еще на начальном этапе разработки. С учетом того, что требования заказчика могут быть сформулированы недостаточно полно и уточняться в ходе работы, сформированные показатели и критерии, определяющие оценку качества, в подобной ситуации не гарантируют обеспечения качества итоговых оценок. Этот тезис является актуальным при использовании как гибких, так и каскадных методов разработки. Для решения проблемы в статье использованы общенаучные методы анализа и синтеза. На основе анализа существующих подходов к оценке качества разработки ПО синтезированы предложения по уточнению базовых принципов его оценки. Сформулирована постановка научно-практической задачи и предложен один из подходов к ее решению, основанный на уточнении используемого в настоящее время подхода к оценке качества, перехода от заранее задаваемой жесткой модели к расширенной, оценивающей не только требования технического задания, но и условия их выполнения. Практическая значимость предлагаемого подхода в том, что его реализация обеспечит общее повышение эффективности автоматизированного управления за счет повышения эффективности и безопасности применения прикладных программ на основе уточнения базового принципа оценки качества, перехода к применению динамической модели оценки качества разрабатываемого ПО.
В работе рассмотрена проблема недостаточного внимания к диагностической модели функциональной пригодности многофункциональных автоматизированных систем при высокой интенсивности потока заявок на новые сервисы автоматизации. Решить проблему предлагается путем изменения контура диагностики функциональной пригодности многофункциональных автоматизированных систем на основе уточнения границ объекта управления. При этом осуществляется перенос функций выявления изменений требований с внешнего проектирования систем (корректировки целей управления) на структурный синтез модели. Разработан подход к диагностированию функциональной пригодности многофункциональных автоматизированных систем на основе включения в состав модели дополнительных диагностических параметров изменения требований назначения, использования перестраиваемой диагностической модели, изменяющей свою структуру в зависимости от выявленных изменений требований назначения, а также внедрения дополнительных механизмов сбора данных о новых потребностях в автоматизации. Представлено описание облика программного средства информационно-аналитического обеспечения деятельности подразделения администрирования автоматизированной системы, разработанного на положениях нормативных документов. Основой программного средства являются БД, поддерживающая перестраиваемую модель автоматизированной системы, и набор интерфейсов подключения программных средств мониторинга (функционального состояния и требований назначения). Рассмотрены механизмы сбора данных о требованиях назначения и их применение в рамках решения задачи диагностирования функциональной пригодности. Описано применение рассмотренного подхода к АСУ услугами связи, функционирующей на основе модели eTOM. В результате достигнуто снижение времени перестроения диагностической модели за счет применения модуля постобработки данных мониторинга на основе технологии process-mining. Показано, что повышение актуальности диагностической информации обеспечивает рост коэффициента функциональной пригодности автоматизированной системы на 1-6 % при ограничении ресурсов на модернизацию. Предложенный подход к диагностике функциональной пригодности эволюционирующих многофункциональных автоматизированных систем может быть использован при обосновании тактикотехнических требований к перспективным системам, а также при реализации системотехнических решений в рамках процессов их проектирования для обеспечения более высокой информированности инженерного персонала.
В настоящее время проводятся активные исследования возможностей использования неклассических логик в моделировании рассуждений когнитивного агента. В статье рассматривается проблема разработки и реализации прототипа решателя расширенных шаговых теорий в случае, когда решения по управлению сложным техническим объектом принимаются в условиях жестких временных ограничений. Рассматривается логическая система, основанная на использовании шаговых теорий с двумя видами отрицания, - система расширенных шаговых теорий. Использование двух видов отрицания позволяет выводить как истинные факты, так и факты-убеждения, что важно при моделировании рассуждений человека. Основное внимание уделяется вопросу организации процедуры вывода на основе использования неклассических логик в моделировании рассуждений когнитивного агента. Приводятся основные этапы разработки прототипа расширенных шаговых теорий с использованием литералов логики высказываний. Для каждого компонента решателя описаны его функции, задачи, входные и выходные данные. Обоснован выбор системы вывода clingo, поддерживающей формирование расширенных логических программ Answer Set Programming (ASP) как инструмента реализации решателя. Приведены алгоритмы трансляции расширенных шаговых теорий в логическую программу, соответствующую синтаксису ASP. При организации логического вывода использован алгоритм циклической обработки множеств убеждений расширенных шаговых теорий в среде clingo. Основные этапы работы этого алгоритма рассмотрены на примере, где разбираются этапы работы решателя и приводятся результаты, представленные в синтаксисе clingo. Пример работы решателя демонстрирует основные особенности расширенных шаговых теорий в задачах жесткого реального времени, такие как отказ от логического всеведения, самопознание и темпоральная чувствительность. В дальнейшем планируется рассмотреть применимость созданного решателя к более сложной формальной системе - логике предикатов первого порядка.
Для управления проектами менеджерам требуется знать реально затрачиваемое рабочее время. Однако, по данным опросов исследовательской компании IDC, процедура заполнения табеля рабочего времени сотрудниками многих компаний является довольно неудобной и долгой. Авторы данной статьи предлагают способ решения проблемы учета рабочего времени сотрудников предприятия в условиях удаленной работы, основанный на разработке отдельной информационной системы с возможностью ее интеграции в существующую систему управления проектами. Для серверной части был использован фреймворк NestJS, для клиентского веб-приложения - фреймворк Angular JS. В процессе моделирования информационной системы получены диаграммы процесса учета рабочего времени до и после автоматизации с использованием современных нотаций для их построения. В качестве системы управления реляционными БД использован MS SQL Server. В работе проведен сравнительный анализ существующих для учета времени сотрудников предприятия решений, таких как TMetric, StaffCop, WorkPoint, Kickidler, ManicTime, CrocoTime, выявлены их основные преимущества и недостатки. Рассмотрены методика, средства проектирования и разработка информационной системы, успешно внедренной во внутреннюю структуру малого предприятия, 70 % сотрудников которого перешли на удаленный режим работы. Расчет эффективности работы средств автоматизации показал сокращение трудоемкости заполнения табелей учета времени на 80 %, а временных затрат на 60 %. Детальные отчеты о затраченном времени позволяют более эффективно распределять ресурсы по задачам, что обусловливает повышение общей управляемости проектами.
В настоящей работе исследуется эффективность планирования очереди с помощью предобученных моделей. Суперкомпьютерный кластер применяет планировщик для распределения поступающего потока заданий между доступными вычислительными ресурсами. Для размещения задания в очереди планировщик использует данные, указанные пользователем, в том числе заказанное время работы программы. Однако пользователи часто неверно оценивают время работы и указывают верхнюю оценку. Если задание завершается раньше, чем указано, то планировщику необходимо перепланировать очередь. Большое количество подобных событий может снижать эффективность распределения ресурсов. В последнее время появилось множество работ, посвященных применению машинного обучения для предсказания времени работы задания. Это позволяет в процессе планирования использовать время работы, вычисленное с помощью предобученной модели. Однако все полученные модели содержат ошибку. Проблема заключается в необходимости оценки эффективности планирования при заданном значении ошибки модели. В данном исследовании для оценки эффективности планирования очереди с помощью предобученных моделей сравниваются два сценария: планировщик использует указанное пользователем время (сценарий 1) и реальное время работы задания (сценарий 2). С помощью симулятора планировщика SLURM была произведена симуляция на статистических данных суперкомпьютера МВС-10П ОП2, установленного в Межведомственном суперкомпьютерном центре РАН. Результаты показали, что среднее время ожидания в сценарии 2 уменьшилось на 25 %, а приведенное время ожидания - на 50 %. Утилизация ресурсов изменилась незначительно. Данные эксперимента доказывают целесообразность применения алгоритмов машинного обучения для предсказания времени работы заданий, поступающих на суперкомпьютерный кластер. Таким образом, в статье приводится оценка предельной оптимизации, так как эксперимент предполагает стопроцентную точность предсказания, что на сегодняшний день не демонстрирует ни одна из представленных работ по предсказанию времени работы заданий.
В работе выделены основные направления исследования: проектирование сети с заданными численными характеристиками, расчет устойчивости заданной сети и решения, решение оптимизационных многокритериальных задач со многими параметрами, моделирование динамических сетей. Структура сетей иерархическая, с высокими параметрами кластеризации, обладает свойствами самоподобия на уровне глобальных авиаперевозок. Сети воздушного движения относят к типу безмасштабных сетей, или «маленького мира», а для анализа применяется теория сложных сетей. В качестве инструментария решения оптимизационных задач предложен аппарат предфрактальных графов, приведены основные определения и обозначения, рассмотрены динамические правила порождения графов. Для решения NP-полных задач, встречающихся в транспортно-логистических системах, может быть применен метод, снижающий трудоемкость для ряда подзадач. Рассмотрена модель покрытия сети авиамаршрутов предфрактальным графом, предложена постановка многокритериальной задачи размещения кратного центра со многими весами, проведена оценка радиальной метрики. Предложен алгоритм размещения кратного центра предфрактального графа при сохранении смежности старых ребер, сгенерирован граф и выделены вершины кратного центра. Правила порождения предфрактального графа позволяют генерировать сети с заранее заданными характеристиками, такими как центральность вершин, диаметр и др., в том числе для построения авиамаршрутов, размещения аэропортов и пересадочных узлов. Перспективными направлениями дальнейших исследований являются распознавание реальных сетей авиамаршрутов в виде динамических графов, взвешивание многими весами и постановка оптимизационных многокритериальных задач, анализ структурных характеристик сетей, статистический анализ на основе малых структурных элементов сети, генерирование сетей с заданными свойствами и сравнение их с реальными сетями, анализ структурной устойчивости сетей и др.
В статье описано ПО для решения задач оптимального управления каталитическим процессом в реакторе идеального смешения. На основе математической модели процесса в реакторе идеального смешения сформулирована в общем виде задача оптимального управления. В качестве управляющего параметра рассматривается температура хладоагента, на значения которой наложены ограничения. Приведен пошаговый алгоритм численного решения поставленной задачи, в основу которого положен эволюционный метод искусственных иммунных систем. Применение данного метода дает возможность получить приближенное решение задачи за приемлемое с практической точки зрения время. На основе сформулированного алгоритма разработано приложение для каталитической реакции димеризации a-метилстирола в присутствии цеолитного катализатора NaHY, продукты которой (линейные димеры) широко применяются в промышленном производстве. Для расчета процесса в реакторе идеального смешения в программе реализован ряд численных методов. В программном средстве имеется возможность настройки пользователем параметров как каталитического процесса, так и алгоритма метода искусственных иммунных систем. Критерий оптимизации задается пользователем в ходе работы программы, что позволяет применять ее для различных постановок задач каталитического процесса димеризации α-метилстирола и получать набор оптимальных концентраций веществ и оптимальный температурный режим, соответствующие заданным показателям протекания процесса. Приведено решение задачи поиска оптимального температурного режима рассматриваемого каталитического процесса, критерием оптимальности которой является достижение максимального выхода линейных димеров при минимальном выходе циклических димеров и тримеров.
Предлагается алгоритм обеспечения требуемого уровня устойчивости управления беспилотным летательным аппаратом в условиях противодействия. Под внешним воздействием понимаются как преднамеренные деструктивные воздействия внешней среды, так и непреднамеренные. Устойчивое управление беспилотным летательным аппаратом рассматривается как способность управляющих органов выполнять свои функции в сложной, резко меняющейся обстановке, в условиях помех, воздействия противника (огневого, радиоэлектронного и др.) и технических отказов, сохраняя в установленных пределах значения всех показателей управления соответственно. В качестве преднамеренных деструктивных воздействий внешней среды, угрожающих устойчивости управления беспилотным летательным аппаратом при автоматическом управлении, рассмотрены средства огневого и физического поражения, радиоэлектронного подавления, а также функционального поражения электромагнитным и лазерным излучением. В зависимости от вероятности поражения беспилотного летательного аппарата в результате преднамеренного деструктивного воздействия внешней среды сформированы зоны, характеризующие влияние средств воздействия на уровень боеспособности беспилотного летательного аппарата. Определен допустимый уровень вероятности устойчивого управления, удовлетворяющий требованиям его боеспособного состояния. С целью обеспечения требуемого уровня устойчивости управления беспилотным летательным аппаратом использован принцип адаптивного управления, заключающийся в изменении параметров его движения, для реализации возможности облета опасных зон. Вычисление параметров управления движением беспилотного летательного аппарата осуществляется с использованием математической модели динамики его бокового движения. Параметры управления движением беспилотного летательного аппарата формируются в виде суммы программного управления и корректирующего, вычисленных через требуемые параметры движения аппарата. Предложенный алгоритм учитывает возможное преднамеренное деструктивное воздействие внешней среды, может быть реализован с помощью микроконтроллеров современных беспилотных летательных аппаратов и не предполагает внесения изменений в их конструкцию. Реализация алгоритма в автоматизированных системах управления беспилотным летательным аппаратом позволит эффективно решать задачи воздушной разведки в условиях противодействия для вычисления требуемых параметров движения и соответствующего текущей обстановке управления.
В статье рассмотрены вопросы выбора алгоритмов распараллеливания, реализованных в инструментальных средствах разработки параллельных программ для многоядерных (многопроцессорных) вычислительных систем с общей памятью. Целью данного исследования является оценка влияния времени выполнения распараллеленных циклических участков целевой программы при многопоточном параллельном выполнении программы в многоядерных (многопроцессорных) ПЭВМ на показатели результатов имитационного моделирования боевых действий. Научная новизна заключается в разработке нового метода создания параллельных программных средств моделирующих комплексов военного назначения. Проведенный анализ современных программных средств моделирующих комплексов военного назначения показал, что на оперативность их применения при использовании по назначению в значительной степени оказывает влияние продолжительность расчетов при проведении моделирования. В работе приведены примеры расчетов в среде Mathcad. Для исключения ошибок выбора предпочтительных алгоритмов распараллеливания анализ производился на основе элементов математической статистики с введением вероятности доверительного интервала для оценки времени выполнения цикла определенным алгоритмом по верхней границе доверительного интервала. Предложен вариант построения программных средств на примере внедрения технологических разработок в программную архитектуру моделирующего комплекса.
В статье анализируется эффективность процесса обслуживания потока заявок на создание ИТ-сервисов с использованием метода имитационного моделирования. Показано, что известные средства имитационного моделирования не позволяют полностью сымитировать процесс обслуживания заявок в подразделениях администрирования инфокоммуникационными инфраструктурами, отличающийся управляемым характером потока ресурсов. В рамках исследования разработано ПО имитационного моделирования процесса обслуживания потока заявок на создание ИТ-сервисов. Основным отличием разработки является возможность управления источником ресурсов в процессе обслуживания заявок и одновременного проведения экспериментов на одних исходных данных с несколькими дисциплинами обслуживания. Имитационная модель разработана в среде Microsoft Visual Studio и состоит из пяти макроблоков: генератор заявок, генератор ресурсов, обслуживающий прибор, блок алгоритма и блок проведения эксперимента. Блок алгоритма позволяет подключать внешние модели в виде блоков библиотек, реализующих через унифицированный интерфейс обработку потока заявок, включая возможность генерации команд на управление источником ресурсов. Блок эксперимента позволяет выполнять потоковые эксперименты на основе заданных настроек, а также сохраненных файлов экспериментов. Главным отличием разработанной имитационной модели является создание множества независимых потоков обслуживания заявок для различных алгоритмов. Возможность проведения сравнительного анализа проиллюстрирована серией экспериментов со стационарными и нестационарными потоками заявок и стационарным, нестационарным и управляемым потоками ресурсов на базе семейства альтернативных алгоритмов управления. Результаты применения имитационной модели процесса обслуживания заявок на создание инфокоммуникационных сервисов позволили оценить эффективность перспективных алгоритмов управления, разработанных в рамках исследования.
Статья посвящена разработке алгоритма извлечения программных идиом из корпуса исходных текстов программ. Программные идиомы - это фрагменты исходных текстов программ, которые встречаются в исходных текстах различных программ и служат для решения одной типичной задачи. В данной работе программная идиома рассматривается как поддерево абстрактного синтаксического дерева (Abstract Syntax Tree, AST) программы, обеспечивающее максимальное сокращение информации в исходном коде программы при замене всех его вхождений на отдельную синтаксическую конструкцию (например, на вызов функции). Разработана метрика ценности поддерева в качестве идиомы, оценивающая сокращение количества информации от такой замены. Таким образом, поиск программных идиом сводится к поиску максимума функции ценности поддерева на множестве поддеревьев AST. Чтобы сократить перебор поддеревьев, поиск максимума функции ценности поддерева предлагается осуществлять методом наискорейшего спуска: на каждом шаге в поддерево добавляется узел, обеспечивающий наибольшее увеличение ценности поддерева. Для хранения поддеревьев используется структура, являющаяся обобщением префиксного дерева. Предложен алгоритм ускоренного извлечения программных идиом. Ускорение достигается за счет повторного использования результатов поиска максимума функции ценности поддерева. Для программной реализации разработанных алгоритмов, а также для исследования выбран язык Python, поскольку он имеет большой корпус исходных текстов и удобные средства построения AST. С помощью разработанной программной реализации проведен эксперимент по извлечению программных идиом из корпусов исходных текстов программ с открытым исходным кодом на языке Python. Полученные в результате программные идиомы являются осмысленными фрагментами исходных текстов программ. Показано, что применение разработанных алгоритмов к исходному коду одного проекта позволяет выявить варианты рефакторинга исследуемой программы.
В статье рассматривается обобщенная задача коммивояжера с ограничениями предшествования (PCGTSP), в которой подобно классической задаче коммивояжера (TSP) ищется замкнутый цикл минимальной стоимости, при этом множество вершин разбито на непустые попарно непересекающиеся подмножества - кластеры и каждый допустимый маршрут обязан посетить каждый из кластеров в единственной вершине. Кроме того, множество допустимых маршрутов стеснено дополнительным ограничением на порядок посещения кластеров, то есть некоторые кластеры должны посещаться раньше других. Такая задача в отличие от TSP и обобщенной задачи коммивояжера (GTSP) является слабо исследованной как теоретически, так и с точки зрения проектирования и реализации алгоритмов. В данной работе предлагаются первые специализированные алгоритмы ветвей и границ, использующие в качестве начального приближения решения, полученные при помощи недавно разработанной эвристики PCGLNS. Исходная задача PCGTSP подвергается нескольким релаксациям, в результате чего получаются несколько нижних оценок на решение исходной задачи, наибольшая из которых используется для отсечения ветвей дерева поиска и сокращения тем самым перебора. Алгоритмы реализованы в виде открытого ПО на языке программирования Python 3 с использованием специализированной библиотеки NetworkX. Производительность предложенных алгоритмов оценивается на тестовых примерах из общедоступной библиотеки PCGTSPLIB в сравнении с общеизвестным солвером Gurobi, использующим недавно предложенную авторами модель MILP, и представляется вполне конкурентоспособной даже в текущей реализации. Разработанные алгоритмы могут применяться в широком классе практических задач, например, для оптимальной маршрутизации инструмента машин листовой резки с ЧПУ, а также для оценки качества решений, получаемых другими методами.