Моделирование#

Последовательность выполнения#

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

main

Рис.1 - Главная страница «Моделирование»

  1. Нажмите на кнопку «Добавить элемент», чтобы добавить новый цифровой двойник.

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

main

Рис.2 - Кнопка «Добавить элемент»

В открывшейся окне в форме json укажите данные сервиса, который вы хотите добавить:

main

Рис.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, для этого нажмите на кнопку «Импорт элемента».

main

Рис.4 - Кнопка «Импорт элемента»

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

main

Рис.5 - Добавление нового элемента

  1. Добавьте связь к новому сервису. Соблюдайте корректность, соединенного входа и выхода.

В данном примере необходимо делать связь от выхода сервиса к входу «example», далее от выхода «example» на вход «egw» (предварительно был добавлен еще один компонент egw).

В результате соединения нового сервиса с другими получаем следующий результат:

main

Примечание: при добавлении новой стрелки происходит перерасчет без нажатия на кнопку рассчитать.

Рис.6 - Добавление связей с новым элементом

Примечание: при соединении сервисов всплывает окошко с подсказкой о пересчете в связи с добавление нового элемента и изменением значения.

main

Рис.7 - Подсказка о добавлении нового элемента и изменении значения

  1. Нажмите на кнопку «Расчет».

main

Рис.8 - Кнопка «Расчет»

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

main

Рис.9 - Форма для ввода tps

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

main

Рис.10 - Нода «Входящий tps»

Необходимо нажать кнопку «Отправить» после указания (утверждения) tps, чтобы выполнить расчет.

Далее происходит отображение результатов расчета.

Нажмите на переключатель «Показывать результат расчета», чтобы увидеть результат расчета количества реплик и процент tps:

main

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

main

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

Как видно на картинке в результате вы получаете отображение:

  • в прямоугольниках компонент — число реплик (рис.13) и процент утилизации (рис.14);

  • на стрелках — значение TPS (рис.15);

  • у каждого компонента кнопка «Инфо» (инфографика), которая управляет окном «Апендикс», где отображается подробная информация о элементе и расчете (рис.16).

main

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

main

Рис.14 - Результат расчета процента утилизации

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

main

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

main

Рис.16 - Кнопка «Инфо» с дополнительной информацией

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

main

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

main

Рис.18 - Результат работы кнопки «Показывать доп информацию»

Также имеется возможность при нажатии на область конкретной стрелки изменить вес стрелки (Опционально).

Откроется окно редактирования веса:

main

Рис.19 - Окно редактирования веса

Введите необходимое значение веса и нажмите «Сохранить».

Примечание: значение веса больше нуля.

  1. Нажмите на кнопку «Экспортировать схему», чтобы сохранить на свое устройство схему цифровой архитектуры с сохранением результатов последнего расчета (если он был произведен):

main

Рис.20 - Кнопка «Экспортировать схему»

Далее шаги 6-10 являются опциональными.

  1. Нажмите на кнопку «Импортировать схему», чтобы загрузить схему цифровой архитектуры в формате json.

main

Рис.21 - Кнопка «Импортировать схему»

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

main

Рис.22 - Результат импортирования схемы

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

main

Рис.23 - Кнопка «Редактирование»

Окно редактирования параметров будет иметь следующий вид:

main

Рис.24 - Форма редактирования параметров

Примечание: значения не могут быть отрицательными.

После настройки сервиса нажмите на кнопку «Сохранить».

Далее выполните действия согласно шагу 5, чтобы сохранить полученную схему на свое устройство.

  1. Функционал предусматривает удаление сервиса, но не является обязательным (опционально).

Например, для удаления сервиса example перейдите в режим редактирования сервиса и нажмите кнопку «Удалить»:

main

Рис.25 - Кнопка «Удалить» сервис

  1. Функционал предусматривает возможность замены цифрового двойника (обновления версии), но не является обязательным (опционально).

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

main

Рис.26 - Кнопка «Заменить цифровой двойник»

При нажатии на нее открывается всплывающее окно для редактирования:

main

Рис.27 - Окно для редактирования цифрового двойника

В окне предусмотрена кнопка «Импорт элемента» для загрузки файла JSON:

main

Рис.28 - Кнопка импорт элемента

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

main

Рис.29 - Замена элемента на другой в схеме

  1. Используйте кнопки дополнительных функциональностей.

main

Рис.30 - Кнопки дополнительных функциональностей

Предусмотрены вспомогательные кнопки:

1 - Увеличение масштаба.

2 - Уменьшение масштаба.

3 - Настроить вид (кнопка изменения масштаба или положения элемента на экране так, чтобы он полностью помещался в пределах видимой области).

4 - Переключатель состояний (кнопка фиксации элементов на экране).

Также предусмотрена кнопка настройки панели (схемы):

main

Рис.31 - Кнопка настройки панели

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

main

Рис.32 - Форма настройки панели

  1. Используйте кнопку «Документация».

Если есть ссылка на документацию, то для пользователя будет доступна кнопка «Документация».

main

Рис.33 - Кнопки «Документация»

Результат#

В ходе выполнения данных шагов пользователь получает файл в формате json, который содержит диаграмму с взаимосвязанными сервисами, рассчитанными значениями утилизации и количеством реплик.

Для проверки успешности использования моделирования необходимо:

  1. Выполнить шаг 1.

  2. Выполнить шаги 2-4 (или выполнить действия согласно шагу 6, если вы работаете с уже имеющиеся схемой).

  3. Выполнить шаги 7-10 (опционально).

  4. Выполнить шаг 5.

  5. Импортировать полученную схему.

  6. Проверить, что раннее экспортированный файл соответствует импортированному по наполнению: корректность расчитанных данных и связей между сервисами.