Подсистема управления: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «''Это - описание требований к системе. По текущей реализации см. control.'' Подсистема управ…»)
 
Строка 10: Строка 10:


Поскольку принципиальным является требование к масштабируемости, должна предоставляться возможность сборки всей моделирующей подсистемы в одну программу, объединяющую управляющую подсистему, конфигурируемый набор моделирующих подсистем и клиента в один процесс.
Поскольку принципиальным является требование к масштабируемости, должна предоставляться возможность сборки всей моделирующей подсистемы в одну программу, объединяющую управляющую подсистему, конфигурируемый набор моделирующих подсистем и клиента в один процесс.
==Интерфейс подсистемы управления, предоставляемый клиентам со стороны пользователя (напр., [[Веб-сервер|веб-серверу]])==
''Все функции интерфейса экспортируются библиотекой управляющей подсистемы как С функции, т.е. имеют связывание в стиле C.''
{| class="wikitable" style="margin: auto;"
| [[entry_point]] || основная точка входа, которая выполняет обработку запросов пользователя
|-
| [[FreeData]] || функция освобождения памяти, выделенной внутрипроцессным сервером при генерации ответа на запрос функцией '''entry_point'''.
|-
| [[GetErrorDescription]] || функция получения описания ошибки по целочисленному коду, возвращенному другими интерфейсными функциями управляющей подсистемы.
|-
| [[SetErrorLogFile]] || Установка файла текстового журналирования ошибок, возникающих в границах управляющей подсистемы.
|}

Версия 15:51, 16 декабря 2015

Это - описание требований к системе. По текущей реализации см. control.

Подсистема управления - внутрипроцессный сервер, загружаемый в адресное пространство процесса веб-сервера. Функции подсистемы управления:

  • Централизованная балансировка нагрузки между узлами одной предметной области.
  • Реализация предметно-независимого описания геометрии среды, в которой моделируется поле. Такой описание дополняется специальными для предметной области параметрами, семантика которых имеет значение исключительно в соответствующей подсистеме предметной области.
  • Реализация политики безопасности, т.е. протоколов взаимодействия с Моделирующими пользователями с одной стороны, и с экземплярами подсистем предметной области с другой.

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

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


Интерфейс подсистемы управления, предоставляемый клиентам со стороны пользователя (напр., веб-серверу)

Все функции интерфейса экспортируются библиотекой управляющей подсистемы как С функции, т.е. имеют связывание в стиле C.

entry_point основная точка входа, которая выполняет обработку запросов пользователя
FreeData функция освобождения памяти, выделенной внутрипроцессным сервером при генерации ответа на запрос функцией entry_point.
GetErrorDescription функция получения описания ошибки по целочисленному коду, возвращенному другими интерфейсными функциями управляющей подсистемы.
SetErrorLogFile Установка файла текстового журналирования ошибок, возникающих в границах управляющей подсистемы.