Edited wiki page Protocol through web user interface.
This commit is contained in:
parent
d1b3797f49
commit
0407203bbd
@ -11,12 +11,38 @@
|
|||||||
|
|
||||||
== Формат сообщения ==
|
== Формат сообщения ==
|
||||||
|
|
||||||
Все сообщения строятся по одному шаблону:
|
Все сообщения строятся по одному шаблону, очень похожему на протокол JSON. В основе выбранного стиля лежит набор пар ключ-значение, которое в большинстве языков программирования представляется в виде ассоциативного массива.
|
||||||
|
|
||||||
|
В общем случае сообщение выглядит следующим образом - это набор пар ключ-значение, заключенный в фигурные скобки.
|
||||||
{{{
|
{{{
|
||||||
MethodName
|
{ тело сообщения }
|
||||||
MessageBody
|
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
|
Пример простейшего сообщения:
|
||||||
|
{{{
|
||||||
|
{ request = info }
|
||||||
|
}}}
|
||||||
|
|
||||||
|
== Ключевые слова ==
|
||||||
|
|
||||||
|
Некоторые из ключей являются специальными словами, жестко установленными, для возможности адекватного общения меду сервером и клиентом.
|
||||||
|
|
||||||
|
|| *Слово* || Краткое описание ||
|
||||||
|
|| request || запрос какой-либо информации ||
|
||||||
|
|| answer || ответ на запрос ||
|
||||||
|
|| status || статус опрашиваемого процесса ||
|
||||||
|
|| main || секция с описанием параметров модели ||
|
||||||
|
|| algo || секция с описанием алгоритмов-методов модели ||
|
||||||
|
|| header || секция с описанием заголовка таблицы результатов ||
|
||||||
|
|| table || секция с описанием таблицы результатов ||
|
||||||
|
|| comment || комментарий ||
|
||||||
|
|
||||||
|
Теперь более подробно о каждом из ключевых слов.
|
||||||
|
|
||||||
|
=== request ===
|
||||||
|
|
||||||
|
=== answer ===
|
||||||
|
|
||||||
== Типы данных ==
|
== Типы данных ==
|
||||||
|
|
||||||
= Соединение сервер - задача =
|
= Соединение сервер - задача =
|
||||||
@ -42,19 +68,98 @@ _name_ = _type_ (choice _list_) (default _value_) (check _expr_)
|
|||||||
|
|
||||||
== Получение результата ==
|
== Получение результата ==
|
||||||
|
|
||||||
== Пример сессии ==
|
= Соединение сервер - ГИП =
|
||||||
|
|
||||||
|
= Пример сессии =
|
||||||
|
|
||||||
Пример записи, описывающий задачу про сахарный диабет:
|
|
||||||
{{{
|
{{{
|
||||||
[Main]
|
// запрос сервера на получение информации о задаче
|
||||||
time = period default 0 to 24
|
{
|
||||||
initx = float default 30.0
|
request = info
|
||||||
inity = float default 10.0
|
}
|
||||||
[Genetic]
|
// ответ клиента-задачи
|
||||||
population = int default 1000
|
{
|
||||||
fitness = string choice [std, lst] default std
|
answer = ok
|
||||||
[Bellman]
|
|
||||||
xpart = partition default 0 to 100 by 1
|
meta = {
|
||||||
}}}
|
detailed = true
|
||||||
|
}
|
||||||
= Соединение сервер - ГИП =
|
|
||||||
|
main = {
|
||||||
|
size = int default 100
|
||||||
|
x = float default 20.0
|
||||||
|
y = float default 0.0
|
||||||
|
time = period default 00:00 to 24:00 comment twenty-four hours
|
||||||
|
}
|
||||||
|
|
||||||
|
algo = {
|
||||||
|
|
||||||
|
genetic = {
|
||||||
|
method = string choice [std, last] default std
|
||||||
|
poplulation = int default 1000
|
||||||
|
}
|
||||||
|
|
||||||
|
bellman = {
|
||||||
|
xpart = float partition 0 to 100 by 1
|
||||||
|
ypart = float partition 0 to 50 by 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// запрос сервера на вычисления по указанным параметрам
|
||||||
|
{
|
||||||
|
request = calculate
|
||||||
|
|
||||||
|
main = {
|
||||||
|
size = 100
|
||||||
|
x = 20.0
|
||||||
|
y = 5.0
|
||||||
|
time = 00:00 to 48:00
|
||||||
|
}
|
||||||
|
|
||||||
|
algo = {
|
||||||
|
genetic = {
|
||||||
|
method = last
|
||||||
|
population = 1200
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ответ клиента задачи о том, что вычисления начались
|
||||||
|
{
|
||||||
|
answer = ok
|
||||||
|
status = inprogress
|
||||||
|
}
|
||||||
|
// запрос сервера о статусе вычислений
|
||||||
|
{
|
||||||
|
request = status
|
||||||
|
}
|
||||||
|
// ответ клиента-задачи о том, что прошла уже половина вычислений
|
||||||
|
{
|
||||||
|
answer = ok
|
||||||
|
status = inprogress
|
||||||
|
percent = 0.50
|
||||||
|
comment = 10 минут, полет нормальный
|
||||||
|
}
|
||||||
|
// снова запрос сервера о статусе
|
||||||
|
{
|
||||||
|
request = status
|
||||||
|
}
|
||||||
|
// клиент сообщает, что вычисления завершены, и предоставляет таблицу результатов
|
||||||
|
{
|
||||||
|
answer = ok
|
||||||
|
status = ready
|
||||||
|
|
||||||
|
header = {
|
||||||
|
time = datetime
|
||||||
|
x = float
|
||||||
|
y = float
|
||||||
|
u = float comment management
|
||||||
|
}
|
||||||
|
|
||||||
|
table = {
|
||||||
|
00:00 20.0 5.0 0.0
|
||||||
|
01:00 18.0 6.0 1.0
|
||||||
|
02:00 16.0 7.0 2.0
|
||||||
|
//...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}}
|
Loading…
Reference in New Issue
Block a user