60 lines
2.6 KiB
Plaintext
60 lines
2.6 KiB
Plaintext
#summary Протокол Opal
|
||
|
||
<wiki:toc max_depth="2" />
|
||
----
|
||
|
||
= Общие сведения =
|
||
|
||
Протокол Opal специально разрабатывался с такой целью, чтобы быть максимально простым в использовании как человеку, так и машине. Не смотря на простоту, протокол обладает большой гибкостью и лаконичностью.
|
||
|
||
Описание протокола можно разделить на две части. Такое разделение связано с архитектурой проекта. Тем не менее, формат сообщений универсален.
|
||
|
||
== Формат сообщения ==
|
||
|
||
Все сообщения строятся по одному шаблону:
|
||
{{{
|
||
MethodName
|
||
MessageBody
|
||
}}}
|
||
|
||
== Типы данных ==
|
||
|
||
= Соединение сервер - задача =
|
||
|
||
== Запрос информации сервером ==
|
||
|
||
Перед запуском задачи для того, чтобы узнать какие параметры нужно передавать для корректного выполнения алгоритма, сервер запускает задачу с ключом -i или --info:
|
||
|
||
`task (-i|--info)`
|
||
|
||
Результатом работы будет набор строк, который описывает все доступные значения для данной задачи. Строки описываются в следующем формате:
|
||
|
||
_name_ = _type_ (choice _list_) (default _value_)
|
||
|
||
<wiki:comment>
|
||
в будущем
|
||
_name_ = _type_ (choice _list_) (default _value_) (check _expr_)
|
||
</wiki:comment>
|
||
|
||
В ответе обязательно должна присутствовать секция Main, в которой описываются все параметры модели. Другие секции описывают параметры доступных алгоритмов в задаче и их количество не ограничено.
|
||
|
||
== Передача списка параметров ==
|
||
|
||
== Получение результата ==
|
||
|
||
== Пример сессии ==
|
||
|
||
Пример записи, описывающий задачу про сахарный диабет:
|
||
{{{
|
||
[Main]
|
||
time = period default 0 to 24
|
||
initx = float default 30.0
|
||
inity = float default 10.0
|
||
[Genetic]
|
||
population = int default 1000
|
||
fitness = string choice [std, lst] default std
|
||
[Bellman]
|
||
xpart = partition default 0 to 100 by 1
|
||
}}}
|
||
|
||
= Соединение сервер - ГИП = |