Верхнеуровневая архитектура: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 26: Строка 26:
* [[control]] - библиотека, реализующая  [[Подсистема управления | управляющую подсистему]], и реализующая интерфейс, предоставляемый веб-серверу.
* [[control]] - библиотека, реализующая  [[Подсистема управления | управляющую подсистему]], и реализующая интерфейс, предоставляемый веб-серверу.
* [[arch_ac]] - реализация моделирующей подсистемы предметной области "Архитектурная акустика".
* [[arch_ac]] - реализация моделирующей подсистемы предметной области "Архитектурная акустика".
* arch_ac_client - исполняемый компонент, играющий роль заглушки "пользователь-веб-сервер". Выполняет моделирование в предметной области "Архитектурная акустика".
''Следующие реализации устарели и сейчас не совместимы с предметно-независимой подсистемой.''
* [[integral]] - реализация подсистемы предметной области "Интеграл" по параллельному расчету интеграла <math>\int_{a}^{b}\frac{4}{1 + x^2}\, dx</math>. При <math>a = 0</math>, <math>b = 1</math> Результат должен быть равен <math>\pi</math>.
* [[integral]] - реализация подсистемы предметной области "Интеграл" по параллельному расчету интеграла <math>\int_{a}^{b}\frac{4}{1 + x^2}\, dx</math>. При <math>a = 0</math>, <math>b = 1</math> Результат должен быть равен <math>\pi</math>.
* arch_ac_client - исполняемый компонент, играющий роль заглушки "пользователь-веб-сервер". Выполняет моделирование в предметной области "Архитектурная акустика".
* integral_client - аналогичный клиент, инициирующий расчет интеграла в предметной области "Интеграл".
* integral_client - аналогичный клиент, инициирующий расчет интеграла в предметной области "Интеграл".



Версия 00:19, 1 ноября 2017

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

Верхнеуровневая архитектура

Структура

На верхнем уровне системной иерархии система принципиально состоит из предметно-независимой и предметно-ориентированной подсистемы.

Предметно-независимая подсистемы разрабатывается нами без какой-либо привязки к предметной области проведения модельных экспериментов.

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

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

Структурно, верхний уровень определяется следующими компонентами.

  1. Веб-сервер - служба, принимающая HTTP запросы от клиентов и трансформирующая их в вызов точки входа подсистемы управления с соответствующими параметрами.
  2. Подсистема управления - динамически загружаемая веб-сервером библиотека (DLL в Windows, SO в Unix), реализующая подсистему управления. Библиотека экспортирует заданный набор интерфейсных функций, доступных веб-серверу для обработки клиентских запросов. Также предоставляет интерфейс для подсистемы предметной области, который зависит от метода реализации подсистемы предметной области - в виде также внутрипроцессного сервера (единственная доступная реализация на 15.12.2015) или в виде удаленного сервера. Программно взаимодействие реализуется в виде пары "прокси-заглушка", предоставляющей полиморфные объекты с методами по передаче вызова.
  3. Вычислительная подсистема - чисто логическое объединение предметно-ориентированных подсистем, реализующих высокопроизводительное моделирование в своих предметных областях. На 15.12.2015 в виде разделяемых (динамических) библиотек реализованы две предметные области - "Архитектурная акустика" и "Интеграл".

Главный сценарий использования системы частично отражает назначение этих подсистем.

Типы модулей системы моделирования

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

  • control - библиотека, реализующая управляющую подсистему, и реализующая интерфейс, предоставляемый веб-серверу.
  • arch_ac - реализация моделирующей подсистемы предметной области "Архитектурная акустика".
  • arch_ac_client - исполняемый компонент, играющий роль заглушки "пользователь-веб-сервер". Выполняет моделирование в предметной области "Архитектурная акустика".

Следующие реализации устарели и сейчас не совместимы с предметно-независимой подсистемой.

  • integral - реализация подсистемы предметной области "Интеграл" по параллельному расчету интеграла . При , Результат должен быть равен .
  • integral_client - аналогичный клиент, инициирующий расчет интеграла в предметной области "Интеграл".
Исполняемые модули на 15.12.2015

См. также

Старая версия архитектуры системы