Введение
В данной статье автор представляет разработанную им методику унификации входных параметров для различных автоматизированных систем.
Данная методика подразумевает анализ автоматизированной системы, выделение характеристик типовых и потенциально возможных случаев сценария работы, определение зависимости конечного результата от изменения выделенных характеристик, приведение собранных данных к строгой математической модели, обработка и получение результата в виде набора параметров, необходимого для функционирования данной автоматизированной системы в рамках выполнения сценариев, применяемых для достижения множества различных результатов без внесения изменений в конструктив/логику работы самой автоматизированной системы.
Ввиду того, что в данной статье подробно рассматривается блок «Параметры», изображенный на рис. 1 слева, он окрашен в серый цвет.
Цель работы – получить методику унификации входных параметров для различных систем автоматизации, вне зависимости от их типа и предназначения.
Материалы и методы исследования
Изначально исследования проводились автором в полевых условиях на CI/CD Dev Ops пайплайнах для сборки и поставки программного обеспечения [1]. После получения необходимых результатов и достижения определенных производственных успехов в унификации, автор решил уйти от конкретного случая и выработать абстрактную модель, применимую вне специфики текущих процессов.
Рис. 1. Абстрактная блок-схема автоматизированной системы В центре – автоматизированная система, она имеет интерфейс для приема параметров и алгоритм, используемый для обработки поступающих в нее объектов (блок «Объекты обработки» внизу на рисунке), справа изображен блок получаемого результата
В результате исследования было выявлено, что данный алгоритм полезен на этапе проектирования системы автоматизации, так как данный этап – самый низкозатратный в плане изменений как по трудовым ресурсам, так и по финансовым. Так же алгоритм можно применить к уже готовым автоматизированным системам с целью оптимизации и унификации исполняемых ей сценариев.
Ввиду универсальности математических моделей [2] представленная методика применима к любым системам автоматизации, имеющим входные параметры, будь то станок с ЧПУ, 3D принтер, DevOps пайплайн [1] или автомат для приготовления мороженого. Заходя немного вперед, стоит отметить, что как раз последний и будет использован как пример в данной статье.
Для исследования автором применялись математическое моделирование [2], теория множеств [3] и диаграммы Венна [4].
Результаты исследования и их обсуждение
Результатом исследования является алгоритм, позволяющий унифицировать входные параметры. Для простоты изложения в качестве автоматизированной системы будет описан автомат для приготовления мороженого, а в качестве входных параметров – все ингредиенты и настройки, подаваемые аппарату на вход.
Итак, непосредственно алгоритм:
1. Необходимо выделить множество типовых и потенциально возможных случаев сценария работы автоматизированной системы. В контексте автомата для приготовления мороженого это будут различные виды мороженого.
Типовые (встречаются часто, стандартные):
1) Пломбир сливочный в стаканчике, наливной.
2) Пломбир шоколадный с шоколадной посыпкой в рожке, наливной.
3) Пломбир клубничный в картонном контейнере, шариками.
4) Пломбир шоколадный в рожке, шариками.
Потенциально возможные случаи (добавлены автором как случаи крайнего отклонения от типовых, представленных выше):
5) Пломбир клубничный, на палочке.
6) Молочный коктейль из мороженого, в пластиковом стаканчике.
7) Различные шарики мороженого, в гонконгской вафле
2. Следующий шаг подразумевает определение набора пар характеристика – значение экземпляров типовых и потенциально возможных случаев сценария работы и назначение им уникальных идентификаторов. Для данной операции выполняется анализ возможных случаев и составляется список пар характеристика – значение, присущих как каждому экземпляру, так и всем экземплярам в целом.
Пары характеристика – значение, составленные для приведенного в первом шаге примера, отражены в табл. 1, где xn – характеристика (потенциальный параметр), yn – значение.
Таблица 1
Пары характеристика – значение сценариев работы автомата для приготовления мороженого
Идентификатор |
Характеристика (xn) |
Значение (yn) |
a |
x1 = Тип |
y1 = мороженое |
b |
x2 = Метод производства |
y2 = охлаждение |
c |
x3 = Производство |
y3 = автоматическое |
d |
x4 = Основа |
y4 = молоко (пломбир) |
e |
x5 = Вкусовая добавка |
y5 = шоколад |
f |
x5 = Вкусовая добавка |
y6 = клубника |
g |
x6 = Тара |
y7 = стаканчик |
h |
x6 = Тара |
y8 = рожок |
i |
x6 = Тара |
y9 = контейнер |
j |
x6 = Тара |
y10 = палочка |
k |
x6 = Тара |
y11 = вафля |
l |
x7 = Посыпка |
y12 = шоколадная крошка |
m |
x8 = Форма выпуска |
y13 = наливное мороженое |
n |
x8 = Форма выпуска |
y14 = шарики |
o |
x8 = Форма выпуска |
y15 = коктейль |
p |
x8 = Форма выпуска |
y16 = брусок на палочке |
q |
x9 = Упаковка |
y17 = бумажный пакет стандартный |
r |
x9 = Упаковка |
y18 = пакет пластиковый |
s |
x5 = Вкусовая добавка |
y19 = различные |
t |
x3 = Производство |
y20 = ручное |
u |
x2 = Метод производства |
y21 = нагрев |
Источник: составлено автором.
Чем больше характеристик будет внесено в данный список, тем больше потенциальных производственных сценариев будет покрыто. Так же в данный список необходимо вынести гипотетические пары характеристика – значение для покрытия случаев, вероятность которых в данном контексте мала, но все же возможна (случаи t, u), и случаев, которые не описаны в техзадании, но участвуют в техпроцессе (q, r).
3. Необходимо определить множество пар характеристика – значение, жестко заданных для каждого экземпляра [3]:
A1 = {a, b, c, d, g, m, q, r},
A2 = {a, b, c, d, e, h, l, m, q, r},
A3 = {a, b, c, d, f, i, n, q, r},
A4 = {a, b, c, d, e, h, n, q, r},
A5 = {a, b, c, d, f, j, p, q, r},
A6 = {a, b, c, d, g, o},
A7 = {a, b, c, d, k, n, q, r, s},
где множество An – номерной случай, типовой или потенциальный, а объекты множества – применимые к нему пары характеристика – значение.
4. Для оптимизации необходимо из результата объединения множеств характеристик вычесть результат их пересечения [5]:
P = (А1∪А2∪А3∪А4∪А5∪А6∪А7∪Аn) \ (А1 ∩ А2 ∩ А3 ∩ А4 ∩ А5 ∩ А6 ∩ А7 ∩ Аn)
Также можно представить данную операцию как «множественную симметрическую разность» [5]:
P = А1 Δ А2 Δ А3 Δ А4 Δ А5 Δ А6 Δ А7 Δ Аn,
P = {g, e, f, m, q, r, h, l, i, n, j, p, o, k, s},
где P – результирующее множество пар характеристика – значение, подлежащих вынесению в параметры, An – множества пар характеристика – значение.
Интересный факт: мощность результирующего множества больше мощности любого множества из изначального списка, что очень хорошо подчеркивает суть универсализации – необходимость учесть особенности каждого уникального случая, составить их перечень и выделить значения по умолчанию.
Рис. 2. Графическая интерпретация симметрической разности множеств пар характеристика – значение различных типовых и потенциально возможных производственных случаев; An – множества пар характеристика – значение; P – результирующее множество; Штриховкой обозначено множество объектов B1, не вошедших в результирующее множество P; Области An без штриховки входят в результат P
Произведенное действие графически отображено с применением диаграммы Венна на рис. 2 [4].
Исходя из диаграммы Венна [4], изображенной на рис. 2, можно сделать вывод, что
An ∈ P; B1 ∉ P
Резюмируя: в итоговую выборку войдут все элементы, кроме общих для всех множеств.
5. Получив выборку P, для выявления параметров, подлежащих вынесению, необходимо откинуть значения y из каждого элемента, а из оставшихся характеристик х сформировать мультимножество [6].
P = {g, e, f, m, q, r, h, l, i, n, j, p, o, k, s},
B = {x6, x5, x5, x8, x9, x9, x6, x7, x6, x8, x6, x8, x8, x6},
где B – мультимножество, сформированное из характеристик х элементов множества P
Мультимножество B необходимо привести к множеству C, преобразовав элементы, кратность которых больше 1, в элементы с кратностью 1, простыми словами, убрать все дубликаты из множества B. Результат:
С = {x5, x6, x7, x8, x9},
где C – набор уникальных элементов множества B, для удобства отсортированный по возрастанию индекса. Данное множество и является результатом работы алгоритма.
Результатом работы алгоритма является расшифровка названия характеристик и список входных параметров для процесса автоматизации:
− x5 – вкусовая добавка,
− x6 – тара,
− x7 – посыпка,
− x8 – форма выпуска,
− x9 – упаковка.
Итог: для производства указанных видов мороженого, а также всех видов мороженого, обладающими схожими характеристиками, аппарат должен обладать следующими входными параметрами:
− лотки для вкусовых добавок и возможность настройки их выбора,
− хранилище различной тары и возможность ее выбора,
− лотки для посыпок и возможность их выбора,
− возможность настройки подачи мороженого различной формы,
− контейнер для хранения различных видов упаковки и возможность ее выбора.
В дополнение ниже приведено краткое описание унификации параметров простейшего CI DevOps пайплайна для сборки программного обеспечения [1].
Возможные случаи:
1. Сборка java приложения, указана версия, используется jenkins.
Таблица 2
Пары характеристика – значение для типовых сборочных случаев CI DevOps пайплайна
Идентификатор |
Характеристика (xn) |
Значение (yn) |
a |
x1 = Язык программирования |
y1 = java |
b |
x1 = Язык программирования |
y2 = ruby |
c |
x3 = Версия приложения |
y3 = x.x.x |
d |
x4 = Тесты |
y4 = Выключены |
e |
x4 = Тесты |
y5 = Включены |
f |
x5 = Сборщик |
y6 = jenkins |
g |
x5 = Сборщик |
y7 = teamcity |
Источник: составлено автором.
2. Сборка java приложения, тесты выключены, используется jenkins.
3. Сборка ruby приложения, используется jenkins.
Пары характеристика – значение для данного примера отражены в табл. 2.
Множества случаев:
А1 = {a, c, f},
А2 = {a, d, f},
А3 = {b, f}.
Расчет:
P = A1 Δ A2 Δ A3,
P = {a, b, c, d},
B = {x1, x1, x3, x4},
C = {x1, x3, x4}.
Расшифровка:
− x1 – язык программирования,
− x3 – версия приложения,
− x4 – тесты.
Итог: для универсализации данного простейшего DevOps пайплайна необходимо вынести в вызов три параметра: язык программирования, версия сборки, необходимость запуска тестов.
Заключение
Данная методика, построенная на теории множеств, свойствах математической модели и жестком алгоритме, позволяет унифицировать входные параметры для различных автоматизированных систем, будь то сборочное оборудование или же программное обеспечение.
Подбор характеристик осуществляется в полуигровой форме, но в последующих шагах подобранные характеристики проходят через структурирующий и оценивающий алгоритм, выполняющий фильтрацию и отсеивающий все характеристики, изменение которых не влияет на итоговый результат и которые нет необходимости выносить в параметры.
Таким образом, данный алгоритм работает как воронка, принимающая на вход итоги оценки текущих и потенциальных производственных случаев и выдающая на выходе перечень параметров, необходимых для тонкой настройки автоматизации не только на работу с перечисленными случаями, но и гипотетически возможными при расширении задач, поставленных перед автоматизированной системой.
Библиографическая ссылка
Лелейкин С.С. МЕТОДИКА УНИФИКАЦИИ ВХОДНЫХ ПАРАМЕТРОВ ДЛЯ ТИПОВЫХ ЗАДАЧ АВТОМАТИЗАЦИИ // Международный журнал прикладных и фундаментальных исследований. 2025. № 3. С. 40-44;URL: https://applied-research.ru/ru/article/view?id=13709 (дата обращения: 21.04.2025).
DOI: https://doi.org/10.17513/mjpfi.13709