Подсистема управления: различия между версиями
(Новая страница: «''Это - описание требований к системе. По текущей реализации см. 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 | Установка файла текстового журналирования ошибок, возникающих в границах управляющей подсистемы. |