AnyLogic
Развернуть
Размер шрифта

Cloud REST API

Обновлено 04.12.2024

Данная справка относится к последней версии AnyLogic Cloud.

REST API AnyLogic Cloud версионируется. Корневой адрес конечной точки (эндпойнта) содержит номер версии: так, адрес версии 8.5.0 для подписчиков AnyLogic Cloud — https://cloud.anylogic.com/api/open/8.5.0.

В Private Cloud адрес будет следующим: <адрес частного облака Private Cloud>/api/open/8.5.0.

Чтобы отправить запрос в REST API, необходимо задать заголовок авторизации в следующем формате: Authorization: <ключ API>. Чтобы получить ключ API, перейдите в свой профиль пользователя в веб-интерфейсе Cloud.
У некоторых запросов в теле могут храниться объекты, которые описаны в разделе Модель данных.

Конечные точки

Конечная точка Описание
GET /models Возвращает массив всех моделей пользователя (владельца ключа API), то есть моделей, на которые у пользователя есть права разработчика или пользователя.
GET /models/<идентификатор> Возвращает модель с заданным идентификатором.
GET /models/<идентификатор>/versions/number/<номер версии> Возвращает версию модели с заданным номером (нумерация версий начинается с 1).
GET /models/<идентификатор модели>/versions/<идентификатор версии> Возвращает версию модели с заданным идентификатором.
POST /models/name/<имя модели> Возвращает модель с заданным именем. Тело запроса должно содержать имя модели в строковом формате.
GET /versions/<идентификатор версии>/experiments Возвращает массив экспериментов, созданных для данной версии модели.
POST /versions/<идентификатор версии>/runs Запрашивает запуск эксперимента с входными данными, содержащимися в запросе запуска. Это приведет к запуску нового эксперимента, если этот прогон еще не был выполнен. Возвращает выполненный «прогон», но не ожидает завершения эксперимента, поэтому не возвращает выходные данные.
В теле запроса требуется запрос на «прогон».
POST /versions/<идентификатор версии>/runs/stop Останавливает выполнение модели, указанной в тексте запроса. Ничего не возвращает.
В теле запроса требуется запрос на «прогон».
POST /versions/<идентификатор версии>/run Возвращает «прогон», содержащий статус прогона. Используйте для запроса статуса прогона.
В теле запроса требуется запрос на «прогон».
POST /versions/<идентификатор версии>/results/<идентификатор «прогона»> Возвращает выходные данные завершенного «прогона» с заданным идентификатором в соответствии с предоставленным шаблоном выходных данных (чтобы вы могли контролировать, какие данные вы получите). Если «прогон» не был завершен, возвращает 404.
В теле запроса требуются пустые выходные данные.
POST /versions/<идентификатор версии>/results Возвращает выходные данные завершенного «прогона» с заданным идентификатором в соответствии с предоставленным шаблоном выходных данных.
Не требует идентификатора «прогона».
В теле запроса требуется запрос результата эксперимента.
GET /versions/<идентификатор версии>/runs/<идентификатор «прогона»>/progress Возвращает статус «прогона» эксперимента, включающий статус и данные «прогона» («прогон» может быть уже завершен или еще не завершен).
POST /versions/<идентификатор версии>/runs/animation Запускает анимацию модели. Ожидает запуска анимации и возвращает объект Animation SVG Run Info, содержащий адрес хоста узла, на котором был создан запуск анимации.
В теле запроса требуется запрос на «прогон».
GET /output-file/ Возвращает URL, принадлежащий файлу с выходными данными.
В запросе необходимо передать хэш и имя файла: для этого требуется использовать строковые параметры hash и filename соответственно.
POST /upload-file/ Загружает файл в облако Cloud и возвращает его хэш.
Файл необходимо включить в тело запроса в виде байтового массива.
GET /check-file/ Проверяет, существует ли файл с указанным хэшем в облаке Cloud. Возвращает true или false.
В запросе необходимо передать хэш файла строковым параметром hash.

Существуют конечные точек для связи с анимацией «прогона» (изменение скорости, пауза и т. д.). Это целесообразно в среде браузера: см. JavaScript API.

Модель данных

Структура данных AnyLogic Cloud приведена на схеме ниже.

Для доступа к моделям на странице Мои модели используйте ключ API, указанный в вашем профиле пользователя.

Каждая модель может иметь несколько версий. Эксперименты выполняются в рамках версии, а не модели. AnyLogic Cloud хранит входные и выходные данные всех экспериментов, которые когда-либо проводились для каждой версии модели.

AnyLogic Cloud: Модель данных

Model

Model (Модель) — это простой объект с уникальным идентификатором, именем, описанием, массивом идентификаторов версий и флагом «публичный/приватный».
{
    "id": "f7771cd8-8d55-486a-b255-10459a349093",
    "name": "Flocks of Boids",
    "description": "Original Boids, developed by Craig Reynolds, is an artificial life program ",
    "modelVersions": [
        "7c702819-b413-417b-aa61-60becd029e3c",
        "de699d41-1f0c-497d-b544-413685f82d2b",
        "b845d4f9-972c-45c7-ae6a-7a762ab81c03"
    ],
    "published": false
}

Version

Version (Версия) — это объект, содержащий полную информацию о входных и выходных данных модели и конфигурации панели инструментов в поле experimentTemplate.
Массив inputs этого объекта содержит системные входные данные модели: {STOP_TIME}, {MAX_MEMORY_MB} и т.д., а также входные данные, указанные пользователем.
Поле value содержит значение входных данных по умолчанию и всегда является строкой (string), независимо от типа входных данных.
Массив outputs — это не фактические выходные данные какого-либо «прогона» эксперимента (эти данные описываются объектом Outputs), а список выходных данных, доступных для этой конкретной версии модели. Таким образом, значения этих полей всегда имеют значение null.
Конфигурация панели инструментов не имеет значения с точки зрения пользователя API, поэтому она не включена в пример.
{
    "id": "def089c4-96a3-40f2-aefb-de1af471fe2f",
    "version": 6,
    "experimentTemplate": {
        "inputs": [
            {
                "name": "{STOP_MODE}",
                "type": "STRING",
                "units": null,
                "value": "STOP_MODE_AT_TIME"
            },
            {
                "name": "{START_TIME}",
                "type": "DOUBLE",
                "units": "SECOND",
                "value": "0"
            },
            {
                "name": "{STOP_TIME}",
                "type": "DOUBLE",
                "units": "SECOND",
                "value": "1000000"
            },
            {
                "name": "{START_DATE}",
                "type": "DATE_TIME",
                "units": null,
                "value": "2019-05-15T00:00"
            },
            {
                "name": "{STOP_DATE}",
                "type": "DATE_TIME",
                "units": null,
                "value": "2019-05-26T13:46:40"
            },
            {
                "name": "{MAX_MEMORY_MB}",
                "type": "INTEGER",
                "units": null,
                "value": "512"
            },
            {
                "name": "Arrival rate",
                "type": "DOUBLE",
                "units": null,
                "value": "1"
            },
            {
                "name": "Mean service time",
                "type": "DOUBLE",
                "units": null,
                "value": "2"
            },
            {
                "name": "Server capacity",
                "type": "INTEGER",
                "units": null,
                "value": "3"
            },
            {
                "name": "Check failure probability",
                "type": "DOUBLE",
                "units": null,
                "value": "0.2"
            }
        ],
        "outputs": [
            {
                "name": "Queue size stats",
                "type": "STATISTICS_CONTINUOUS",
                "units": null,
                "value": null
            },
            {
                "name": "Total time in system|Total time in system",
                "type": "HISTOGRAM_DATA",
                "units": null,
                "value": null
            },
            {
                "name": "Utilization|Server utilization",
                "type": "DOUBLE",
                "units": null,
                "value": null
            },
            {
                "name": "Mean queue size|Mean queue size",
                "type": "DOUBLE",
                "units": null,
                "value": null
            }
        ],
        "dashboard": { }
    }
}

Experiment

Объект Experiment (Эксперимент) содержит настройки входных данных эксперимента, сохраненные в AnyLogic Cloud.
Используйте этот объект, чтобы задать входные данные прогона, вызвав функцию createInputsFromExperiment() объекта CloudClient.
Поле value элемента входных данных всегда содержит строку (string). Например, для входного значения типа диапазон ("FIXED_RANGE_INTEGER") — это необработанная строка JSON, содержащая поля min, max и step.
Возможные значения поля type перечислены ниже. Поле unit может содержать значение null или одно из значений, перечисленных в разделе Единицы измерения.
{
    "uuid": "f3f441f3-8117-4423-9b1c-75b4680c715b",
    "modelVersion": "def089c4-96a3-40f2-aefb-de1af471fe2f",
    "name": "Server Capacity Variation",
    "type": "PARAMETER_VARIATION",
    "inputs": [
        {
            "name": "Arrival rate",
            "type": "DOUBLE",
            "units": null,
            "value": "1"
        },
        {
            "name": "Check failure probability",
            "type": "DOUBLE",
            "units": null,
            "value": "0.2"
        },
        {
            "name": "Mean service time",
            "type": "DOUBLE",
            "units": null,
            "value": "2"
        },
        {
            "name": "Server capacity",
            "type": "FIXED_RANGE_INTEGER",
            "units": null,
            "value": "{\"min\":3,\"max\":7,\"step\":1}"
        },
        {
            "name": "{MAX_MEMORY_MB}",
            "type": "INTEGER",
            "units": null,
            "value": "512"
        },
        {
            "name": "{RANDOM_SEED}",
            "type": "LONG",
            "units": null,
            "value": "1"
        },
        {
            "name": "{START_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-15T00:00"}
        ,
        {
            "name": "{START_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "0"
        },
        {
            "name": "{STOP_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-26T13:46:40"
        },
        {
            "name": "{STOP_MODE}",
            "type": "STRING",
            "units": null,
            "value": "STOP_MODE_AT_TIME"
        },
        {
            "name": "{STOP_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "1000000"
        }
    ]
}

Outputs

Объект Outputs (Выходные данные) — это сложный объект. Пользуйтесь клиентами Cloud, предоставленными AnyLogic, так как они содержат функции, упрощающие навигацию по Outputs (такие функции доступны, например, для JavaScript-объектов SingleRunOutputs и MultiRunOutputs). Объект Outputs представляет собой массив, каждый элемент которого представляет один набор выходных данных после «прогона» или серии «прогонов». Обратите внимание, что в случае экспериментов с несколькими «прогонами» элемент может представлять входные данные, по-разному заданные для разных «прогонов». Поле aggregationType — это системное поле, в котором сообщается, как группируются результаты отдельных прогонов.
Для одного «прогона» эксперимента группировка результатов отсутствует, а значением поля aggregationType является IDENTITY. Помимо aggregationType, каждый элемент массива верхнего уровня всегда содержит поля inputs, outputs и value.

Поскольку в одном «прогоне» нет изменяемых параметров, нет и дескрипторов вводных значений, а поле inputs представляет собой пустой массив во всех элементах. Поле outputs представляет собой массив с одним элементом, описывающим выходное значение: его имя, тип, единицы измерения и значение. Значение дескриптора всегда равно null.
Возможные значения поля type элемента массива перечислены ниже.
Фактическое значение выходных данных содержится в поле value элемента массива верхнего уровня в виде необработанной строки JSON. Дополнительные сведения см. в разделе Преобразование данных.
Хотя диаграмма AnyLogic (которая может содержать несколько элементов данных) является единым элементом в конфигурации запуска AnyLogic, ее элементы данных становятся отдельными элементами в Cloud API. Таким образом, имя каждого такого элемента данных возвращается API в следующем формате: >имя диаграммы в выходных данных конфигурации запуска>|<название элемента данных в диаграмме>.
Для других выходных данных AnyLogic, таких как явно заданные наборы данных, объекты статистики, выходные объекты, имя в выходных данных AnyLogic API такое же, как и в AnyLogic.

Для экспериментов с многократными запусками, таких как варьирование параметров или Монте-Карло, формат выходных данных усложняется. aggregationType будет иметь значение ARRAY, а один из элементов массива верхнего уровня будет содержать непустое поле input для варьирующихся входных данных.
Необработанные поля value элементов output представляют собой массивы с несколькими элементами. Последовательность выходных значений в массивах соответствует последовательности варьируемых значений входных параметров.
Выходные данные для одного «прогона»
[
    {
        "aggregationType": "IDENTITY",
        "inputs": [],
        "outputs": [
            {
                "name": "Queue size stats",
                "type": "STATISTICS_CONTINUOUS",
                "units": null,
                "value": null
            }
        ],
        "value": "{\"type\":\"CONTINUOUS\",\"count\":1375730,\"min\":0.0,\"max\":10.0,\"mean\":0.9915478405530092, ... }"
    },
    {
        "aggregationType": "IDENTITY",
        "inputs": [],
        "outputs": [
          {
              "name": "Total time in system|Total time in system",
              "type": "HISTOGRAM_DATA",
              "units": null,
              "value": null
          }
        ],
        "value": "{\"statistics\":{\"type\":\"DISCRETE\",\"count\":1000897,\"min\":1.6001570096705109, … }"
    },
    {
        "aggregationType": "IDENTITY",
        "inputs": [],
        "outputs": [
            {
                "name": "Utilization|Server utilization",
                "type": "DOUBLE",
                "units": null,
                "value": null
            }
        ],
        "value": "0.500358755897554"
    },
    {
        "aggregationType": "IDENTITY",
        "inputs": [],
        "outputs": [
            {
                "name": "Mean queue size|Mean queue size",
                "type": "DOUBLE",
                "units": null,
                "value": null
            }
        ],
        "value": "0.9915478375701102"
    }
]
Выходные данные для нескольких «прогонов»
[ 
    {
        "aggregationType": "ARRAY",
        "inputs": [],
        "outputs": [
            {
                "name": "Queue size stats",
                "type": "STATISTICS_CONTINUOUS",
                "units": null,
                "value": null
            }
        ],
        "value": "[{\"count\":1335978,\"min\":0.0,\"max\":10.0,\"mean\":0.9860041083277306,\"variance\":0.07920717342721317, ... }]"
    }, 
    {
        "aggregationType": "ARRAY",
        "inputs": [],
        "outputs": [
            {
                "name": "Total time in system|Total time in system",
                "type": "HISTOGRAM_DATA",
                "units": null,
                "value": null
            }
        ],
        "value": "[{\"statistics\":{\"type\":\"DISCRETE\",\"count\":999206,\"min\":1.4401413087034598, ... }]"
    },
    {
        "aggregationType": "ARRAY",
        "inputs": [],
        "outputs": [
            {
                "name": "Utilization|Server utilization",
                "type": "DOUBLE",
                "units": null,
                "value": null
            }
        ],
        "value": "[0.4497779714401299,0.4750782325123417,0.500358755897554]"
    },
    {
        "aggregationType": "ARRAY",
        "inputs": [],
        "outputs": [
            {
                "name": "Mean queue size|Mean queue size",
                "type": "DOUBLE",
                "units": null,
                "value": null
            }
        ],
        "value": "[0.9860040848956356,0.9877473693031751,0.9915478375701102]" 
    },
    {
        "aggregationType": "ARRAY",
        "inputs": [
            {
                "name": "Mean service time",
                "type": "FIXED_RANGE_DOUBLE",
                "units": null,
                "value": "{\"min\":\"1.8\",\"max\":\"2\",\"step\":\"0.1\"}"
            }
        ],
        "outputs": [],
        "value": "[[1.8],[1.9],[2.0]]"
    }
]

Run Request

Объект Run Request (Запрос запуска) содержит тип эксперимента и полный список входных данных. Он не содержит ссылку на версию модели, которая передается как часть URL-запроса.
Значение входных данных всегда является строкой (string), которая может содержать необработанный JSON, например, для описания диапазона.
Простой эксперимент
{
    "experimentType": "SIMULATION",
    "inputs": [
        {
            "name": "{STOP_MODE}",
            "type": "STRING",
            "units": null,
            "value": "STOP_MODE_AT_TIME"
        },
        {   "name": "{START_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "0"
        },
        {
            "name": "{STOP_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "1000000"
        },
        {
            "name": "{START_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-15T00:00"
        },
        {
            "name": "{STOP_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-26T13:46:40"
        },
        {
            "name": "{MAX_MEMORY_MB}",
            "type": "INTEGER",
            "units": null,
            "value": "512"
        },
        {
            "name": "Arrival rate",
            "type": "DOUBLE",
            "units": null,
            "value": "1"
        },
        {
            "name": "Mean service time",
            "type": "DOUBLE",
            "units": null,
            "value": "2"
        },
        {
            "name": "Server capacity",
            "type": "INTEGER",
            "units": null,
            "value":  5
        },
        {
            "name": "Check failure probability",
            "type": "DOUBLE",
            "units": null,
            "value": "0.2"
        },
        {
            "name": "{RANDOM_SEED}",
            "type": "LONG",
            "units": null,
            "value": "1"
        }
    ]
}
Варьирование параметров
{
    "experimentType": "PARAMETER_VARIATION",
    "inputs": [
        {
            "name": "{STOP_MODE}",
            "type": "STRING",
            "units": null,
            "value": "STOP_MODE_AT_TIME"
        }, 
        {
            "name": "{START_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "0"
        },
        {
            "name": "{STOP_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "1000000"
        },
        {
            "name": "{START_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-15T00:00"
        },
        {
            "name": "{STOP_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-26T13:46:40"
        },
        {
            "name": "{MAX_MEMORY_MB}",
            "type": "INTEGER",
            "units": null,
            "value": "512"
        },
        {
            "name": "Arrival rate",
            "type": "DOUBLE",
            "units": null,
            "value": "1"
        },
        {
            "name": "Mean service time",
            "type": "FIXED_RANGE_DOUBLE",
            "units": null,
            "value": "{ \"min\" : 1.8 , \"max\" : 2 , \"step\" : 0.1 }" 
        },
        {
            "name": "Server capacity",
            "type": "INTEGER",
            "units": null,
            "value":  5
        },
        {
            "name": "Check failure probability",
            "type": "DOUBLE",
            "units": null,
            "value": "0.2"
        },
        {
            "name": "{RANDOM_SEED}",
            "type": "LONG",
            "units": null,
            "value": "1"
        }
    ]
}

Experiment Results Request

Объект Experiment Results Request (Запрос результатов эксперимента) содержит «тип» эксперимента, полный список входных данных и список необходимых выходных данных. Последний представляет собой строку (string) объекта Outputs с пустыми значениями.
{
    "experimentType": "SIMULATION",
    "inputs": [
        {
            "name": "{STOP_MODE}",
            "type": "STRING",
            "units": null,
            "value": "STOP_MODE_AT_TIME"
        },
        {
            "name": "{START_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "0"
        },
        {
            "name": "{STOP_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "1000000"
        },
        {
            "name": "{START_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-15T00:00"
        },
        {
            "name": "{STOP_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-26T13:46:40"
        },
        {
            "name": "{MAX_MEMORY_MB}",
            "type": "INTEGER",
            "units": null,
            "value": "512"
        },
        {
            "name": "Arrival rate",
            "type": "DOUBLE",
            "units": null,
            "value": "1"
        },
        {
            "name": "Mean service time",
            "type": "DOUBLE",
            "units": null,
            "value": "2"
        },
        {
            "name": "Server capacity",
            "type": "INTEGER",
            "units": null,
            "value":  5
        },
        {
            "name": "Check failure probability",
            "type": "DOUBLE",
            "units": null,
            "value": "0.2"
        },
        {
            "name": "{RANDOM_SEED}",
            "type": "LONG",
            "units": null,
            "value": "1"
        }
    ],
    "outputs": "[{\"aggregationType\":\"IDENTITY\",\"inputs\":[],\"outputs\":[{\"name\":\"Queue size\"}]}]"
}

Experiment Run

Объект Experiment Run («Прогон» эксперимента) содержит уникальный идентификатор запуска, идентификатор версии модели, входные данные, статус прогона и сообщение, содержащее необработанный JSON с информацией о «прогоне» (см. Experiment Run State), и может быть пустым.
Поле outputs объекта Experiment Run всегда пустое.
{
    "id": "Ao7KEYv76pyqZFf6QetmAg6InFuJoJMj1WbYaSm17wo",
    "inputs": [
        {
            "name": "{STOP_MODE}",
            "type": "STRING",
            "units": null,
            "value": "STOP_MODE_AT_TIME"
        },
        {
            "name": "{START_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "0"
        },
        {
            "name": "{STOP_TIME}",
            "type": "DOUBLE",
            "units": "SECOND",
            "value": "1000000"
        },
        {
            "name": "{START_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-15T00:00"
        },
        {
            "name": "{STOP_DATE}",
            "type": "DATE_TIME",
            "units": null,
            "value": "2019-05-26T13:46:40"
        },
        {
            "name": "{MAX_MEMORY_MB}",
            "type": "INTEGER",
            "units": null,
            "value": "512"
        },
        {
            "name": "Arrival rate",
            "type": "DOUBLE",
            "units": null,
            "value": "1"
        },
        {
            "name": "Mean service time",
            "type": "DOUBLE",
            "units": null,
            "value": "2"
        },
        {
            "name": "Server capacity",
            "type": "INTEGER",
            "units": null,
            "value": "5"
        },
        {
            "name": "Check failure probability",
            "type": "DOUBLE",
            "units": null,
            "value": "0.2"
        },
        {
            "name": "{RANDOM_SEED}",
            "type": "LONG",
            "units": null,
            "value": "1"
        }
    ],
    "message": "{\"title\":null,\"total\":100,\"finishedTasks\":1,\"totalTasks\":1,\"subRuns\":[]}",
    "modelVersionId": "def089c4-96a3-40f2-aefb-de1af471fe2f",
    "outputs": null,
    "status": "COMPLETED"
}

Experiment Run State

Объект Experiment Run State (Статус «прогона» эксперимента) возвращается в ответ на запрос о ходе выполнения. Он содержит status «прогона» и поле message с необработанным JSON с подробностями о ходе выполнения:
{
    "message": "{\"title\":null,\"total\":52,\"finishedTasks\":0,\"totalTasks\":1,\"subRuns\":[]}",
    "status": "RUNNING"
}
Чтобы получить данные о завершенной части «прогона», вы можете вызвать JSON.parse( <experiment run state>.message ).total;.
Статусы «прогона»:
  • "FRESH" — создан, не начат
  • "RUNNING" — выполняется
  • "COMPLETED" — успешно завершен, доступны результаты
  • "FAILED" — не выполнен (из-за ошибки)
  • "STOPPED" — отменен пользователем до завершения (с помощью элементов управления или API)
Для завершенного прогона поле сообщения может быть пустой строкой:
{
    "message": "",
    "status": "COMPLETED"
}
Для эксперимента с несколькими прогонами объект Experiment Run State будет выглядеть так:
{
    "message": "{\"title\":null,\"total\":47,\"finishedTasks\":0,\"totalTasks\":11, ... }",
    "status": "RUNNING"
}
Структура поля message выглядит так:
{
    "finishedTasks": 0,
    "subRuns": [
        {
            "title": null,
            "total": 42,
            "finishedTasks": 2,
            "totalTasks": 5,
            "subRuns": []
        },
        {
            "title": null,
            "total": 42,
            "finishedTasks": 2,
            "totalTasks": 5,
            "subRuns": []
        }
    ],
    "title": null,
    "total": 47,
    "totalTasks": 11
 }
Поле subRuns содержит информацию об отдельных запусках, составляющих эксперимент.

Animation SVG Run Info

Объект Animation SVG Run Info (Информация о прогоне анимации SVG) возвращается в ответ на запуск модели с анимацией. Он содержит исходные размеры окна анимации, скорость выполнения эксперимента, URL-адрес узла, на котором выполняется эксперимент, и другую информацию.
{
    "animationHeight": 600,
    "animationSpeed": 10,
    "animationWidth": 1000,
    "experimentRunId": "fbc6a1d8-fa08-4a5c-a171-4631657c1aa7",
    "modelUuid": "493e6789-acf7-4dac-971d-325cb508ea39",
    "restUrl": "b0cc221b-8217-474b-af18-c2d07753187b/",
    "sessionUuid": "b0cc221b-8217-474b-af18-c2d07753187b",
    "version": "8.5.0"
}

Типы входных данных

Тип входных данных представлен строковой константой (string). Возможные значения:
"STRING" (строка)
"DOUBLE" (число двойной точности с плавающей точкой)
"INTEGER" (целое число)
"LONG" (длинное целое число)
"DATE_TIME" (дата-время)
"BOOLEAN" (булево значение)
"RANDOM_DOUBLE" (случайное число с плавающей точкой)
"RANDOM_INTEGER" (случайное целое число)
"RANDOM_BOOLEAN" (случайное булево значение)
"FIXED_RANGE_DOUBLE" (число с плавающей точкой в фиксированном диапазоне)
"FIXED_RANGE_INTEGER" (целое число в фиксированном диапазоне)
"FIXED_RANGE_LONG" (длинное целое число в фиксированном диапазоне)
"FULL_RANGE_BOOLEAN" (диапазон булевых значений)
"INPUT_FILE" (файл с входными данными)

Единицы измерения

Единицы измерения представлены строковой константой (string). Могут иметь значение null. Другие возможные значения:
"MILLISECOND" (миллисекунда)
"SECOND" (секунда)
"MINUTE" (минута)
"HOUR" (час)
"DAY" (день)
"WEEK" (неделя)
"MONTH" (месяц)
"YEAR" (год)
"MILLIMETER" (миллиметр)
"CENTIMETER" (сантиметр)
"METER" (метр)
"KILOMETER" (километр)
"INCH" (дюйм)
"FOOT" (фут)
"YARD" (ярд)
"MILE" (миля)
"NAUTICAL_MILE" (морская миля)
"SQ_MILLIMETER" (квадратный миллиметр)
"SQ_CENTIMETER" (квадратный сантиметр)
"SQ_METER" (квадратный метр)
"SQ_KILOMETER" (квадратный километр)
"SQ_INCH" (квадратный дюйм)
"SQ_FOOT" (квадратный фут)
"SQ_YARD" (квадратный ярд)
"SQ_MILE" (квадратная миля)
"SQ_NAUTICAL_MILE" (квадратная морская миля)
"PER_MILLISECOND" (/в миллисекунду)
"PER_SECOND" (/в секунду)
"PER_MINUTE" (/в минуту)
"PER_HOUR" (/в час)
"PER_DAY" (/в день)
"PER_WEEK" (/в неделю)
"PER_MONTH" (/в месяц)
"PER_YEAR" (/в год)
"MPS" (метров в секунду)
"KPH" (километров в час)
"FPS" (футов в секунду)
"FPM" (футов в минуту)
"MPH" (миль в час)
"KN" (узел)
"MPS_SQ"
"FPS_SQ"
"LITER"
"OIL_BARREL"
"CUBIC_METER"
"KILOGRAM"
"TON"
"LITER_PER_SECOND"
"OIL_BARREL_PER_SECOND"
"CUBIC_METER_PER_SECOND"
"KILOGRAM_PER_SECOND"
"TON_PER_SECOND"
"TURN"
"RADIAN"
"DEGREE"
"RPM"
"RAD_PER_SECOND"
"DEG_PER_SECOND"

Типы выходных данных

Тип выходных данных представлен строковой константой (string). Возможные значения:
"STRING"
"DOUBLE"
"INTEGER"
"LONG"
"DATE_TIME"
"BOOLEAN"
"DATA_SET"
"STATISTICS_DISCRETE"
"STATISTICS_CONTINUOUS"
"HISTOGRAM_DATA"
"HISTOGRAM_2D_DATA"
"MODEL_OUTPUT_NAME"
Как мы можем улучшить эту статью?