Верхнеуровневая архитектура: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 21: | Строка 21: | ||
# Управляющая подсистема, обращаясь к СУБД1, считывает данные и передает их ответом подсистеме предметной области. | # Управляющая подсистема, обращаясь к СУБД1, считывает данные и передает их ответом подсистеме предметной области. | ||
# Подсистема предметной области считывает данные и задает их ассоциацию с компонентами геометрической модели. | # Подсистема предметной области считывает данные и задает их ассоциацию с компонентами геометрической модели. | ||
# Подсистема предметной области возвращает ответ управляющей подсистеме | |||
# Управляющая подсистема возвращает ответ пользователю | |||
# Пользователь посылает запрос на запуск процедуры моделирования управляющей подсистеме. | |||
# Управляющая подсистема делегирует вызов подсистеме предметной области | |||
* 3A В случае создания нового проекта, или если пользователь решает выполнить новое моделирование в выбранной им предметной области | * 3A В случае создания нового проекта, или если пользователь решает выполнить новое моделирование в выбранной им предметной области |
Версия 18:07, 8 июля 2015
Обсужденная архитектура
Use case, в котором все данные передаются через централизованную управляющую подсистему.
- Пользователь через браузер подключается к управляющей подсистем
- Пользователь загружает необходимые скрипты
- Пользователь создает модельный проект (загружает его с локального хранилища, подключается к работе над существующим проектом, загружает его с БД2?
- Пользователь создает/изменяет геометрическую модель.
- Управляющая подсистема делегирует вызов подсистеме геометрического моделирования
- Подсистема геометрического моделирования фактически изменяет параметры геометрической модели
- Подсистема геометрического моделирования сохраняет модель в СУБД 2?
- Подсистема геометрического моделирования передает модель управляющей подсистеме
- Управляющая подсистема передает полученные данные графической подсистеме.
- Графическая подсистема передает данные для визуализации пользователю
- Браузер выполняет визуализацию модели
- Пользователь обращается к управляющей подсистеме с запросом на ассоциацию данных из СУБД1 с компонентами геометрической модели для выбранной предметной области
- Управляющая подсистема делегирует запрос подсистеме предметной области.
- Подсистема предметной области запрашивает управляющую подсистему на получение данных из СУБД1.
- Управляющая подсистема, обращаясь к СУБД1, считывает данные и передает их ответом подсистеме предметной области.
- Подсистема предметной области считывает данные и задает их ассоциацию с компонентами геометрической модели.
- Подсистема предметной области возвращает ответ управляющей подсистеме
- Управляющая подсистема возвращает ответ пользователю
- Пользователь посылает запрос на запуск процедуры моделирования управляющей подсистеме.
- Управляющая подсистема делегирует вызов подсистеме предметной области
- 3A В случае создания нового проекта, или если пользователь решает выполнить новое моделирование в выбранной им предметной области
- 1. Пользователь обращается к управляющей подсистемой с запросом на получение списка подсистем предметных областей (т.е. списка самих предметных областей).
- 2. Пользователь выбирает предметную область
Исходная архитектура
Система состоит из следующих компонентов, распределенных по сети:
- Подсистема геометрического моделирования реализует хранение геометрической модели среды, в которой моделируется поле. Каждая модель ассоциирована с экземпляром сцена - хранилищем объектов. Подсистема реализует функционал сцены и хранения экземпляров сцены. Доступ к экземпляру осуществляется клиентом по имени модельного проекта. Компонент частично реализован в проекте chsvgrphc, в виде DLL-библиотеки и в совокупности с предметно-независимой визуализацией сцены. Новое: Предполагается разделить существующую реализацию следующим образом: хранилище геометрической модели выделить в удаленный сервер, а визуализацию проводить целиком на стороне клиента, выполняя репликацию геометрической модели при возникновении изменений на сервере.
- Система управления базами данных Разделяемый доступ компонентов CAM к постоянным справочным данным, необходимым при расчетах должен предоставляться отдельной обслуживающей подсистемой – банком данных. Информационное наполнение банка составляют данные, необходимые для проведения каждого имитационного эксперимента, например сведения о типичных источниках поля, о физических свойствах среды распределения поля для заданного набора внешних условий, количественные сведения, характеризующие поведение поля на границах раздела сред. Поскольку информационное наполнение определяется предметной областью, в которой выполняется моделирование, для каждой предметной области создается собственная база данных. В настоящий момент реализован базовый функционал СУБД в виде локального COM-сервера (проекты amdb_inner и amdb_outer), с прокси и заглушкой (amdv_outer_inner, amdb_outer_proxy). Поэтому теоретически реализация должна работать корректно и для удаленного сервера. На 07.07.2015 реализация может портить данные при большом количестве элементов данных и параллельных клиентов. Реализация ориентирована на быструю обработку поступающих параллельно запросов, с высокой вероятностью того, что доступ будет ограничен чтением. Также существует написанный мной сырой клиент СУБД, брошенный во времена написания диссертации "посередине", поэтому пока он не выложен в репозиторий.
- Клиент доступа к системе моделирования Пользовательский клиент, через который осуществляется доступ к системе моделирования. Сегодня клиент фактически представляет из себя простое окошко с визуализацией 3D модели сцены и командная строка клиента. Предоставляет пользователю интерфейс для ввода параметров моделирования и анализа в систему: объекты, степень их аппроксимации, физические размеры, которым соответствует моделируемое пространство, параметры среды распространения моделируемого физического поля, а также положение секущих плоскостей, на которых рассчитываются распределения характеристик поля.
- Подсистема управления Централизованное управление узлами распределенной CAM, а также политика безопасности в CAM должны реализовываться сервером безопасности и управления доступными вычислительными узлами, задачей которого является хранение и предоставление адресов всех узлов системы, а также гарантия их подлинности и их авторизация. При развертывании CAM узлы системы должны регистрироваться на сервере, при этом идентификатор, адрес и ключи аутентификации регистрируемого узла должны быть занесены во внутренние базы данных сервера согласно протоколам определенным разработчиком. При необходимости клиент сервера по идентификатору должен получать адрес запрашиваемого узла лишь в том случае, если подлинность последнего подтверждена. При этом сервер исключается из набора участников информационного обмена между авторизированными узлами, таким образом, на него не налагаются требования по защите передаваемой между его клиентами информации. Это, во-первых, снижает информационную нагрузку на сервер, во-вторых, снижает роль сервера как арбитра, что является причиной недостатков множества существующих систем и протоколов безопасности [57, 92]. Этой же либо выделенной отдельно подсистемой должно осуществляться распределение нагрузки между аутентифицированными подсистемами предметной области. При этом возможно использование следующего протокола. Для каждой отдельно взятой предметной области создается реестр адресов моделирующих подсистем, не занятых выполнением моделирования. Также для каждой предметной области подсистемой создается список задач по выполнению отдельного имитационного эксперимента. Во время проведения процедуры моделирования, если реестр адресов подсистем предметной области не пуст, параметры одного имитационного эксперимента из совокупности задач, которые необходимо выполнить для осуществления моделирования, передаются по одному из адресов из реестра. Если реестр пуст, параметры заносятся в список задач, выполнение которых осуществляется по мере освобождения подсистем предметной области. Подобные схемы управления нагрузкой в параллельных и распределенных системах имитационного моделирования являются предметом исследований в работах [25, 76], посвященных принципам PDES. В соответствующих терминах сервер осуществляет хранение списка событий, которыми являются сообщения о появлении задач по проведению имитационного эксперимента с заданными параметрами. В зависимости от требований к нагрузке на CAM и к стоимости развертывания системы сервер безопасности и подсистема управления доступными вычислительными узлами могут быть включены в одну из базовых подсистем. В этом случае такая подсистема назначается основной. Тогда остальные базовые подсистемы включаются в CAM через обращение к ней. Сегодня управления нет, центральной является система геометрического моделирования.
- Предметно-ориентированная подсистема Включает в себя подсистемы предметной области, реализованные с участием эксперта предметной области. Также включает в себя параллельный вычислительный ресурс, регистрируемый в подсистеме управления.