Моделирование#
Последовательность выполнения#
Выполните действия описанные в секции Доступ к приложению для того, чтобы перейти на страницу с моделированием:

Рис.1 - Главная страница «Моделирование»
Нажмите на кнопку «Добавить элемент», чтобы добавить новый цифровой двойник.
Примечание: если у вас уже имеется схема, то функционал моделирования предусматривает возможность импортировать и работать с уже имеющиеся схемой. Для этого вам необходимо перейти на пункт 6 и выполнить все описанные там шаги.

Рис.2 - Кнопка «Добавить элемент»
В открывшейся окне в форме json укажите данные сервиса, который вы хотите добавить:

Рис.3 - Форма указания значений цифрового двойника
Пример заполнения значений цифрового двойника, которые необходимо указать:
{
"name": "example",
"min_replicas": 2,
"max_replicas": 10,
"scaling_lag": 0,
"output_factor": 1,
"cpu_max": 0.6,
"approximation": { # данные аппроскимации пользователь берет из ручки digital-twin
"name": "example",
"r2_score": 0.930294506267805,
"degree": 2,
"equation": "y = 0.0216600975 + 0.0158623481x^1 + -0.0000150757x^2 + -0.0000121309x^3 + 0.0000004389x^4 + -0.0000000045x^5",
"coefficients": {
"intercept": 0.02166009753694853,
"coefs": [
0,
0.01586234810385634,
-0.000015075744713994579,
-0.000012130871177308728,
4.389103177636969e-7,
-4.4710509428376975e-9
]
},
"data_bounds": {
"tps_min": 0,
"tps_max": 48.7,
"cpu_min": 0.016460396039603958,
"cpu_max": 0.75
}
}
}
Поле |
Тип данных |
Описание |
|---|---|---|
name |
String |
Имя цифрового двойника |
min_replicas |
Integer |
Минимальное кол-во реплик |
max_replicas |
Integer |
Максимальное кол-во реплик |
scaling_lag |
Integer |
Погрешность |
output_factor |
Integer |
Выходной фактор |
cpu_max |
Integer |
Максимальная утилизация CPU |
approximation.name |
String |
Имя сервиса |
approximation.r2_score |
Integer |
Оценка точности модели |
approximation.equation |
String |
Уравнение cpu от tps |
approximation.degree |
Integer |
Значение точности |
approximation.coefficients.intercept |
Integer |
Коэффициент уравнения |
approximation.coefficients.coefs |
Integer |
Коэффициенты уравнения при степенях |
approximation.data_bounds.tps_min |
Integer |
Ограничение по минимальному tps, в рамках которого будет корректный расчет |
approximation.data_bounds.tps_max |
Integer |
Ограничение по максимальному tps, в рамках которого будет корректный расчет |
approximation.data_bounds.cpu_min |
Integer |
Ограничение по минимальному CPU, в рамках которого будет корректный расчет |
approximation.data_bounds.cpu_max |
Integer |
Ограничение по максимальному CPU, в рамках которого будет корректный расчет |
Таблица. Описание полей цифрового двойника
Примечание: значения вводимые пользователем не могут быть отрицательными. Поля вводимые пользователем name, min_replicas, max_replicas, scaling_lag, output_factor, cpu_max. Значения для секции approximation берутся из ручки digital-twin.
Также предусмотрена функция добавления нового цифрового двойника в виде файла в формате json, для этого нажмите на кнопку «Импорт элемента».

Рис.4 - Кнопка «Импорт элемента»
После того, как вы ввели данные/импортировали json файл с цифровым двойником и нажали кнопку «Добавить», ваш новый сервис отобразиться на общей схеме (без связей).

Рис.5 - Добавление нового элемента
Добавьте связь к новому сервису. Соблюдайте корректность, соединенного входа и выхода.
В данном примере необходимо делать связь от выхода сервиса к входу «example», далее от выхода «example» на вход «egw» (предварительно был добавлен еще один компонент egw).
В результате соединения нового сервиса с другими получаем следующий результат:

Примечание: при добавлении новой стрелки происходит перерасчет без нажатия на кнопку рассчитать.
Рис.6 - Добавление связей с новым элементом
Примечание: при соединении сервисов всплывает окошко с подсказкой о пересчете в связи с добавление нового элемента и изменением значения.

Рис.7 - Подсказка о добавлении нового элемента и изменении значения
Нажмите на кнопку «Расчет».

Рис.8 - Кнопка «Расчет»
После нажатия кнопки «Расчет» выведется форма для ввода tps:

Рис.9 - Форма для ввода tps
Примечание: при необходимости вы можете указать значение входного TPS в специальной ноде «Входящий tps». Значение не может быть отрицательным.

Рис.10 - Нода «Входящий tps»
Необходимо нажать кнопку «Отправить» после указания (утверждения) tps, чтобы выполнить расчет.
Далее происходит отображение результатов расчета.
Нажмите на переключатель «Показывать результат расчета», чтобы увидеть результат расчета количества реплик и процент tps:

Рис.11 - Кнопка «Показывать результат расчета»

Рис.12 - Результат работы кнопки «Показывать результат расчета»
Как видно на картинке в результате вы получаете отображение:
в прямоугольниках компонент — число реплик (рис.13) и процент утилизации (рис.14);
на стрелках — значение TPS (рис.15);
у каждого компонента кнопка «Инфо» (инфографика), которая управляет окном «Апендикс», где отображается подробная информация о элементе и расчете (рис.16).

Рис.13 - Результат расчета числа реплик

Рис.14 - Результат расчета процента утилизации
Примечание: при наведении на компоненты, над нодой появляется подсказка с дополнительной информацией о том элементе, на который навелся пользователь.

Рис.15 - Вывод значения tps на стрелках

Рис.16 - Кнопка «Инфо» с дополнительной информацией
Также можно нажать на перключатель «Показывать доп. информацию», чтобы увидеть дополнительную информацию по весу стрелок между компонентами:

Рис.17 - Кнопка «Показывать доп информацию»

Рис.18 - Результат работы кнопки «Показывать доп информацию»
Также имеется возможность при нажатии на область конкретной стрелки изменить вес стрелки (Опционально).
Откроется окно редактирования веса:

Рис.19 - Окно редактирования веса
Введите необходимое значение веса и нажмите «Сохранить».
Примечание: значение веса больше нуля.
Нажмите на кнопку «Экспортировать схему», чтобы сохранить на свое устройство схему цифровой архитектуры с сохранением результатов последнего расчета (если он был произведен):

Рис.20 - Кнопка «Экспортировать схему»
Далее шаги 6-10 являются опциональными.
Нажмите на кнопку «Импортировать схему», чтобы загрузить схему цифровой архитектуры в формате json.

Рис.21 - Кнопка «Импортировать схему»
В результате будет импортирована схема, в которой ноды выравнены и расставлены по канвасу в читабельной форме, и будет выглядеть следующим образом:

Рис.22 - Результат импортирования схемы
Элементы данной схемы можно отредактировать при нажатии на кнопку «Карандаш» (инфографика), которая есть у каждого компонента:

Рис.23 - Кнопка «Редактирование»
Окно редактирования параметров будет иметь следующий вид:

Рис.24 - Форма редактирования параметров
Примечание: значения не могут быть отрицательными.
После настройки сервиса нажмите на кнопку «Сохранить».
Далее выполните действия согласно шагу 5, чтобы сохранить полученную схему на свое устройство.
Функционал предусматривает удаление сервиса, но не является обязательным (опционально).
Например, для удаления сервиса example перейдите в режим редактирования сервиса и нажмите кнопку «Удалить»:

Рис.25 - Кнопка «Удалить» сервис
Функционал предусматривает возможность замены цифрового двойника (обновления версии), но не является обязательным (опционально).
Например, для замены компонента example (обновления версии) нажмите на кнопку «Заменить цифровой двойник»:

Рис.26 - Кнопка «Заменить цифровой двойник»
При нажатии на нее открывается всплывающее окно для редактирования:

Рис.27 - Окно для редактирования цифрового двойника
В окне предусмотрена кнопка «Импорт элемента» для загрузки файла JSON:

Рис.28 - Кнопка импорт элемента
После того, как вы изменили данные/импортировали json файл с цифровым двойником (обновили версию) и нажали кнопку «Заменить», ваш новый сервис отобразиться на общей схеме с новыми значениями и произойдет перерасчет.

Рис.29 - Замена элемента на другой в схеме
Используйте кнопки дополнительных функциональностей.

Рис.30 - Кнопки дополнительных функциональностей
Предусмотрены вспомогательные кнопки:
1 - Увеличение масштаба.
2 - Уменьшение масштаба.
3 - Настроить вид (кнопка изменения масштаба или положения элемента на экране так, чтобы он полностью помещался в пределах видимой области).
4 - Переключатель состояний (кнопка фиксации элементов на экране).
Также предусмотрена кнопка настройки панели (схемы):

Рис.31 - Кнопка настройки панели
Нажмите на данную кнопку, если хотите указать «Имя схемы»,»Описание»,»Версию».

Рис.32 - Форма настройки панели
Используйте кнопку «Документация».
Если есть ссылка на документацию, то для пользователя будет доступна кнопка «Документация».

Рис.33 - Кнопки «Документация»
Результат#
В ходе выполнения данных шагов пользователь получает файл в формате json, который содержит диаграмму с взаимосвязанными сервисами, рассчитанными значениями утилизации и количеством реплик.
Для проверки успешности использования моделирования необходимо:
Выполнить шаг 1.
Выполнить шаги 2-4 (или выполнить действия согласно шагу 6, если вы работаете с уже имеющиеся схемой).
Выполнить шаги 7-10 (опционально).
Выполнить шаг 5.
Импортировать полученную схему.
Проверить, что раннее экспортированный файл соответствует импортированному по наполнению: корректность расчитанных данных и связей между сервисами.