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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
м
Строка 17: Строка 17:
=Интерфейсы=
=Интерфейсы=


* [[control\IControlFactory]]
{| class="wikitable"
* [[control\IControlSystemServerSide]]
|-
* [[control\IGeometrySystem]]
! Интерфейс
* [[control\IProxy]]
! Файл
! Описание
|-
| [[INode]]
| domain_interaction.h
| {{INode brief}}
|-
| [[ILoadBalancer]]
| domain_interaction.h
| {{ILoadBalancer brief}}
|-
| [[IControlSystem]]
| domain_interaction.h
| {{IControlSystem breif}}
|-
| [[IControlSystemDomainSide]]
| domain_interaction.h
| {{IControlSystemDomainSide brief}}
|-
| [[IDomainSystem]]
| domain_interaction.h
| {{IDomainSystem brief}}
|-
| [[control\IControlFactory|IControlFactory]]
| control.h
| Интерфейс фабрики экземпляров класса [[control\CControlSystem|CControlSystem]].
|-
| [[control\IControlSystemServerSide|IControlSystemServerSide]]
| control.h
| {{IControlSystemServerSide brief}}
|-
| [[control\IGeometrySystem|IGeometrySystem]]
| geometry_system.h
| Интерфейс реализации подсистемы геометрического моделирования.
|-
| [[control\IProxy|IProxy]]
| proxy.h
| Полиморфный интерфейс прокси-сервера подсистемы управления.
|}


=Классы=
=Классы=

Версия 15:38, 9 июня 2016

Компоненты на верхнем уровне \ Подсистема управления \ Реализация

Проект, реализующий подсистему управления - control.

Файл точки входа Веб-сервера - http_callee.cpp.

Обработка любого запроса начинается с получения Singleton-экземпляра, с интерфейсом IControlSystemServerSide, реализации подсистемы с помощью фабрики IControlFactory и ее статического метода IControlFactory::GetControlFactory. Интерфейс IControlSystemServerSide предоставляет доступ к интерфейсам различных подсистем системы моделирования, которые аггрегируются реализующим классом CControlSystem.

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

Конфигурация

См. base_config.h.

См. control\config.h

Интерфейсы

Интерфейс Файл Описание
INode domain_interaction.h Программный интерфейс, реализуемый узлом подсистемы предметной области и предоставляющий подсистеме управления методы для управления вычислительной нагрузкой, которая подается на узел. Физически может быть ассоциирован с вычислительным кластером (для реализации с локальным балансировщиком) либо с потоком на логическом ядре центрального процессора.
ILoadBalancer domain_interaction.h Программный интерфейс, предоставляемый подсистемой управления для подсистемы предметной области. Предоставляет методы для регистрации задачи, которая должна быть выполнена как элемент параллельных вычислений, а также для регистрации свободного узла INode.
IControlSystem domain_interaction.h Шаблон:IControlSystem breif
IControlSystemDomainSide domain_interaction.h Интерфейс, предоставляемый подсистеме предметной области, для установки соединения с подсистемой управления, а также для получения доступа к ее балансировщикам нагрузки.
IDomainSystem domain_interaction.h Основной программный интерфейс экземпляра подсистемы предметной области.
IControlFactory control.h Интерфейс фабрики экземпляров класса CControlSystem.
IControlSystemServerSide control.h Интерфейс подсистемы управления для доступа со стороны компонентов подсистемы управления.
IGeometrySystem geometry_system.h Интерфейс реализации подсистемы геометрического моделирования.
IProxy proxy.h Полиморфный интерфейс прокси-сервера подсистемы управления.

Классы

Класс Файл Описание
CControlFactory control.cpp Фабрика основного класса CControlSystem подсистемы управления.
CControlSystem control.cpp Основной класс, реализующий интерфейс подсистемы управления.
CGeometryModel geometr_model.cpp Реализация экземпляров геометрической модели среды распространения моделируемого поля.
CGeometryStsem geometry_system.cpp Реализация подсистемы геометрического моделирования как агрегата экземпляров геометрической модели среды распространения моделируемого поля.
CInprocessProxy inprocess_proxy.cpp Реализация прокси-сервера при внутрипроцессном взаимодействии с экземпляром подсистемы предметной области.
CLoadBalancer lb.cpp Реализация глобального балансировщика нагрузки.
CObject geometry_model.cpp Обобщающий метатип с кастомизируемым программным интефейсом для элементов геометрической модели среды распространения моделируемого физического поля.
CObjectStorage geometry_model.cpp Реализация коллекции всех элементов геометрической модели среды распространения физического поля.
CPlainObject geometry_model.cpp Общая реализация секущей плоскости вывода результатов моделирования.
CPlainStorage geometry_model.cpp Реализация коллекции секущих плоскостей вывода результатов моделирования.
CPolyObject geometry_model.cpp Реализация полигонального элемента геометрической модели среды моделируемого поля.
CPolyStorage geometry_model.cpp Реализация коллекции полигональных элементов модели среды распространения физического поля.
CSourceObject geometry_model.cpp Общая реализация источника моделируемого физического поля.
CSourceStorage geometry_model.cpp Реализация коллекции источников моделируемого физического поля.
CDomainSystem domain.cpp Прокси-сервер для подсистемы предметной области.
identity config.h Вспомогательный метатип для анализа свойств типа, указанного параметром.
inprocess_proxy_connect_param proxy.h Инкапсулирует параметры соединения с экземпляром подсистемы предметной области при динамической компоновке последней.
ip_proxy_connect_param proxy.h Инкапсулирует параметры TCP/IP соединения с экземпляром подсистемы предметной области.
node_compare lb.cpp Бинарный предикат выбора более приоритетного узла INode экземпляра подсистемы предметной области.
object_only_packing_service geometry_model.cpp
proxy_connect_params proxy.h Обобщенный класс параметров установки коммуникации с экземпляром подсистемы предметной области.

Глобальные функции

Файлы