UC1: Произвести моделирование: различия между версиями
Строка 66: | Строка 66: | ||
=== Главный сценарий успешного выполнения === | === Главный сценарий успешного выполнения === | ||
# [[Моделирующий пользователь]] выполняет [[UC3: Инициализация соединения "пользователь-система"]]. | |||
# [[Моделирующий пользователь]] получает доступ к модельному проекту в системе. | |||
# [[Моделирующий пользователь]] задает геометрическую модель среды распределения поля (визуально, т.е. рисованием 2D или 3D модели, или текстовым описанием координат опорных точек и направляющих). | |||
# [[Моделирующий пользователь]] задает физические свойства компонентов модели среды генерации поля. | |||
# [[Моделирующий пользователь]] задает координаты источников моделируемого поля (рисованием или текстовым описанием). | |||
# [[Моделирующий пользователь]] задает физические свойства источников поля в соответствии с предметной областью, в которой будет проводиться моделирование, например направленность, частотные характеристики, интенсивность. | |||
# [[Моделирующий пользователь]] задает сетку (положение секущих плоскостей и прямых<ref>Для двумерного случая</ref>), на которой будут накапливаться результаты моделирования поля, на геометрической модели среды распределения поля. | |||
# <u>Система</u> визуализирует геометрическую модель среды распределения поля. | |||
# [[Моделирующий пользователь]] инициирует процесс моделирования в <u>системе</u> в заданной предметной области. | |||
# <u>Система</u> отображает результаты в выбираемом [[Моделирующий пользователь|моделирующим пользователем]] формате: в виде таблиц, описывающих распределение поля и статистические параметры распределения; в виде эквиповерхностей (для 3D-моделирования) или линий уровня (для 2D-моделирования), наложенных на визуализацию геометрической модели. | |||
# | # [[Моделирующий пользователь]] через браузер [[Веб-сервер|подключается]] к управляющей подсистеме, выполняя [[UC3: Инициализация соединения "пользователь-система"]]. | ||
# <u> | # <u>Система</u> отображает пользователю форму для поиска существующего (активного) экземпляра [[Вычислительная подсистема|подсистемы предметной области]], а также, возможно, иные формы выбора подсистемы предметной области (напр. список недавно использованных экземпляров, "избранное" и т.п.). | ||
# <u> | # <u>Система</u> дополнительно отображает ссылки для создания модельного проекта или его загрузки со стороны пользователя. | ||
# <u> | # [[Моделирующий пользователь]] начинает работу с модельным проектом. | ||
# | # <u>Система</u> отображает пользователю форму для поиска существующей геометрической модели среды распространения. | ||
# | # [[Моделирующий пользователь]] создает модельный проект (загружает его с локального хранилища, подключается к работе над существующим проектом, загружает его с банка данных пользователя, восстанавливает автосохранённый проект в случае неожиданного выключения клиента ранее). | ||
# | # [[Моделирующий пользователь]] создает/изменяет геометрическую модель. Все изменения модели на данном этапе остаются локальными. | ||
# [[Моделирующий пользователь]] обращается к управляющей подсистеме с запросом на ассоциацию данных из [[банк данных предметных областей|баз данных предметной области]] с компонентами геометрической модели. | |||
# | # Управляющая подсистема, обращаясь к базе данных предметных областей, считывает данные, ассоциирует их с элементами геометрической модели. | ||
# | # Ассоциированные данные и ссылка на них в БД сохраняются в модели. (Модель представляет совокупность геометрического и физического описания среды распространения поля). | ||
# [[Моделирующий пользователь]] посылает запрос на запуск процедуры моделирования управляющей подсистеме с помощью указанного им экземпляра предметной области. | |||
# Управляющая подсистема формирует описание геометрии среды в подсистеме геометрического моделирования | |||
# [[Подсистема управления]] сохраняет модель среды, введенную пользователем, в [[Банк данных пользователей|банке данных пользователей]] | |||
# Управляющая подсистема передает полученную модель подсистеме предметной области для моделирования. | |||
# Подсистема предметной области проверяет данные модели (корректность и актуальность данным из [[банк данных предметных областей|базы данных предметных областей]]) | |||
# Подсистема предметной области выполняет моделирование и по завершении переходит к ожиданию запроса пользователя на их получение. | |||
# [[Моделирующий пользователь]] запрашивает результаты моделирования | |||
# Браузер выполняет визуализацию результатов моделирования | |||
# [[Моделирующий пользователь]] локально сохраняет результаты моделирования | |||
=== Расширения<ref>Альтернативные сценарии успешного выполнения и обработки ошибок</ref> === | === Расширения<ref>Альтернативные сценарии успешного выполнения и обработки ошибок</ref> === | ||
* 1A. Ошибка соединения с сервером, аутентификации или авторизации [[Моделирующий пользователь|моделирующего пользователя]], аутентификации экземпляра системы. | |||
** 1. [[Моделирующий пользователь]] остается на форме авторизации. | |||
* 4A. [[Моделирующий пользователь]] решает создать новый модельный проект | |||
** 1. <u>Система</u> предлагает пользователю выбрать [[Вычислительная подсистема|экземпляр подсистемы предметной области]] (поиск, список недавно использовавшихся, "избранное"). | |||
** 2. [[Моделирующий пользователь]] выбирает экземпляр подсистемы предметной области. | |||
*** 2А. [[Моделирующий пользователь]] выбрал некорректный экземпляр подсистемы предметной области (экземпляр по указанному имени не найден, не активен, не доступен для пользователя). | |||
**** 1. Повторное выполнение шага 4А1. | |||
** 2. <u>Система</u> предлагает пользователю выбрать геометрическую модель (поиск, список недавно использовавшихся, "избранное"), создать новую модель или загрузить ее со стороны пользователя. | |||
** 3. [[Моделирующий пользователь]] выбирает метод создания геометрической модели. | |||
*** 2A. При загрузке геометрической модели, существующей в системе моделирования. | |||
**** 1. Система осуществляет проверку доступа пользователя к модели. | |||
***** 1А. Доступ запрещен. | |||
****** 1. Переход на шаг 4А2. | |||
**** 2. [[Моделирующий пользователь]] скачивает модель. | |||
* 4B. [[Моделирующий пользователь]] решает загрузить проект с локального хранилища. | |||
** 1. [[Моделирующий пользователь]] передает файл проекта системе моделирования. | |||
** 2. Система моделирования проверяет имя [[Вычислительная подсистема|экземпляра подсистемы предметной области]] в файле. | |||
*** 2А. В проекте не указано имя [[Вычислительная подсистема|экземпляра подсистемы предметной области]]. | |||
**** 1. <u>Система</u> предлагает пользователю выбрать [[Вычислительная подсистема|экземпляр подсистемы предметной области]] (поиск, список недавно использовавшихся, "избранное"). | |||
**** 2. [[Моделирующий пользователь]] выбирает экземпляр подсистемы предметной области. | |||
***** 2А. [[Моделирующий пользователь]] выбрал некорректный экземпляр подсистемы предметной области (экземпляр по указанному имени не найден, не активен, не доступен для пользователя). | |||
****** 1. Повторное выполнение шага 4B2A1. | |||
*** 2B. Имя указанное в файле проекта некорректно (экземпляр не найден, не активен или доступ к нему со стороны пользователя запрещен). | |||
**** 1. Переход на шаг 4B2A1. | |||
** 3. Система моделирования проверяет имя геометрической модели в файле. | |||
*** 3A. Имя модели уже зарегистрировано в системе. | |||
**** <u>Система</u> уведомляет пользователя о конфликте имен и предлагает подключиться с существующей модели или ... | |||
* 1A. Ошибка соединения с сервером, аутентификации или авторизации <u>моделирующего пользователя</u>, аутентификации экземпляра системы. | * 1A. Ошибка соединения с сервером, аутентификации или авторизации <u>моделирующего пользователя</u>, аутентификации экземпляра системы. |
Версия 16:53, 24 мая 2016
Аннотированное описание
Основной сценарий успешного выполнения
Моделирующий пользователь запускает клиент доступа к системе моделирования. Моделирующий пользователь устанавливает соединение с серверной подсистемой CAMaaS. Моделирующий пользователь проходит процедуры аутентификации и авторизации. Моделирующий пользователь задает геометрическую и физическую модель среды распределения поля, загружает ее с локального хранилища или получает эту модель путем обращения к системе. Моделирующий пользователь задает параметры вывода результатов моделирования, либо загружает их с локального хранилища или путем обращения к системе. На основе физико-геометрической модели и параметров вывода результатов система выполняет моделирование поля. Система отображает результаты моделирования в виде таблиц или графически на основе этих таблиц.
Альтернативные сценарии
Если моделирующий пользователь не зарегистрирован в системе, и политикой безопасности разрешена удаленная регистрация, моделирующий пользователь имеет возможность зарегистрироваться удаленно либо отказаться от доступа к системе.
Если моделирующий пользователь не проходит процедуру аутентификации, и политикой безопасности разрешена удаленная регистрация, моделирующему пользователю предлагается возможность зарегистрироваться либо отказаться от использования системы.
Если моделирующий пользователь не проходит процедуру аутентификации, соединение с ним автоматически разрывается.
При отказе моделирующего пользователя от использования системы соединение с ним разрывается.
Информация о проектах хранится на стороне моделирующих пользователей, которые, в свою очередь, самостоятельно реализуют хранение проектов моделирования. На стороне сервера данные о проекте хранятся лишь временно, пока над ними ведется работа,
Если моделирующий пользователь, успешно вошедший систему и единолично работающий над своим проектом, разрывает соединение (аварийно или нет), данные о проекте на стороне сервера удаляются.
Если более одного моделирующего пользователя работают над проектом, данные о нем остаются на серверной стороне пока все моделирующие пользователи не завершат работу.
Если хотя бы один моделирующий пользователь ведет работу в системе над модельным проектом, новые моделирующие пользователи имеют возможность подключиться к работе, загрузив проект с сервера.
Ошибки пользовательского ввода, если это возможно, идентифицируются до выполнения собственно моделирования поля, то есть во время самого ввода. При этом моделирующему пользователю позволяется их быстрое исправление.
Пользовательские ошибки, идентифицируемые лишь во время процедуры моделирования, сбрасывают результаты моделирования, полученные на момент обнаружения ошибки, при этом данные об ошибке всегда возвращаются моделирующему пользователю и, в зависимости от настроек системы, помещаются в системный журнал.
Любые системные ошибки рассматриваются как исключительные. При их возникновении удаляются результаты моделирования, полученные на момент возникновения ошибочной ситуации, а сведения об ошибке заносятся в системный журнал.
Полное описание
Имя сценария
Произвести моделирование.
Масштабность[1]
Вся система моделирования в целом.
Уровень[2]
Пользовательский
Основное действующее лицо
Заинтересованные стороны
Моделирующий пользователь: Заинтересован в быстром получении адекватных результатов моделирования в соответствии с заданными им настройками детализации и имеющимися в его распоряжении вычислительными мощностями. Под "его" вычислительными мощностями предполагаются мощности, запрошенные у системы в соответствии с политикой их предоставления. См. Открытые вопросы. Также заинтересован в безошибочности работы системы и в том, что его безопасность не будет нарушена (никто не будет действовать от имени пользователя без разрешения последнего, подлинность сервера должна быть подтверждена, на сервер не будут переданы конфиденциальные данные).
Поставщик предметно-независимых сервисов: Заинтересован в том, что пользователь докажет свою подлинность и получит в свое распоряжение лишь те информационные и вычислительные ресурсы, на которые он имеет права в соответствии с политиками безопасности и предоставления ресурсов сервера. Также заинтересован в подлинности моделирующей подсистемы.
Поставщик подсистемы предметной области: Заинтересован в том, что политика предоставления вычислительного ресурса предметно-независимой подсистеме и пользователю не будет нарушена. Заинтересован в подтверждении своей подлинности сервером.
Предусловия
Моделирующий пользователь имеет информацию, идентифицирующую сервер (напр. адрес).
Серверная подсистема запущена и слушает канал связи.
Постусловия
Моделирующий пользователь имеет картину распределения характеристик интересующего его поля в заданных им точках геометрической модели среды. Пользователь имеет графическое отображение этой геометрической модели и наложенное на него графическое представление картины распределения поля.
Главный сценарий успешного выполнения
- Моделирующий пользователь выполняет UC3: Инициализация соединения "пользователь-система".
- Моделирующий пользователь получает доступ к модельному проекту в системе.
- Моделирующий пользователь задает геометрическую модель среды распределения поля (визуально, т.е. рисованием 2D или 3D модели, или текстовым описанием координат опорных точек и направляющих).
- Моделирующий пользователь задает физические свойства компонентов модели среды генерации поля.
- Моделирующий пользователь задает координаты источников моделируемого поля (рисованием или текстовым описанием).
- Моделирующий пользователь задает физические свойства источников поля в соответствии с предметной областью, в которой будет проводиться моделирование, например направленность, частотные характеристики, интенсивность.
- Моделирующий пользователь задает сетку (положение секущих плоскостей и прямых[3]), на которой будут накапливаться результаты моделирования поля, на геометрической модели среды распределения поля.
- Система визуализирует геометрическую модель среды распределения поля.
- Моделирующий пользователь инициирует процесс моделирования в системе в заданной предметной области.
- Система отображает результаты в выбираемом моделирующим пользователем формате: в виде таблиц, описывающих распределение поля и статистические параметры распределения; в виде эквиповерхностей (для 3D-моделирования) или линий уровня (для 2D-моделирования), наложенных на визуализацию геометрической модели.
- Моделирующий пользователь через браузер подключается к управляющей подсистеме, выполняя UC3: Инициализация соединения "пользователь-система".
- Система отображает пользователю форму для поиска существующего (активного) экземпляра подсистемы предметной области, а также, возможно, иные формы выбора подсистемы предметной области (напр. список недавно использованных экземпляров, "избранное" и т.п.).
- Система дополнительно отображает ссылки для создания модельного проекта или его загрузки со стороны пользователя.
- Моделирующий пользователь начинает работу с модельным проектом.
- Система отображает пользователю форму для поиска существующей геометрической модели среды распространения.
- Моделирующий пользователь создает модельный проект (загружает его с локального хранилища, подключается к работе над существующим проектом, загружает его с банка данных пользователя, восстанавливает автосохранённый проект в случае неожиданного выключения клиента ранее).
- Моделирующий пользователь создает/изменяет геометрическую модель. Все изменения модели на данном этапе остаются локальными.
- Моделирующий пользователь обращается к управляющей подсистеме с запросом на ассоциацию данных из баз данных предметной области с компонентами геометрической модели.
- Управляющая подсистема, обращаясь к базе данных предметных областей, считывает данные, ассоциирует их с элементами геометрической модели.
- Ассоциированные данные и ссылка на них в БД сохраняются в модели. (Модель представляет совокупность геометрического и физического описания среды распространения поля).
- Моделирующий пользователь посылает запрос на запуск процедуры моделирования управляющей подсистеме с помощью указанного им экземпляра предметной области.
- Управляющая подсистема формирует описание геометрии среды в подсистеме геометрического моделирования
- Подсистема управления сохраняет модель среды, введенную пользователем, в банке данных пользователей
- Управляющая подсистема передает полученную модель подсистеме предметной области для моделирования.
- Подсистема предметной области проверяет данные модели (корректность и актуальность данным из базы данных предметных областей)
- Подсистема предметной области выполняет моделирование и по завершении переходит к ожиданию запроса пользователя на их получение.
- Моделирующий пользователь запрашивает результаты моделирования
- Браузер выполняет визуализацию результатов моделирования
- Моделирующий пользователь локально сохраняет результаты моделирования
Расширения[4]
- 1A. Ошибка соединения с сервером, аутентификации или авторизации моделирующего пользователя, аутентификации экземпляра системы.
- 1. Моделирующий пользователь остается на форме авторизации.
- 4A. Моделирующий пользователь решает создать новый модельный проект
- 1. Система предлагает пользователю выбрать экземпляр подсистемы предметной области (поиск, список недавно использовавшихся, "избранное").
- 2. Моделирующий пользователь выбирает экземпляр подсистемы предметной области.
- 2А. Моделирующий пользователь выбрал некорректный экземпляр подсистемы предметной области (экземпляр по указанному имени не найден, не активен, не доступен для пользователя).
- 1. Повторное выполнение шага 4А1.
- 2А. Моделирующий пользователь выбрал некорректный экземпляр подсистемы предметной области (экземпляр по указанному имени не найден, не активен, не доступен для пользователя).
- 2. Система предлагает пользователю выбрать геометрическую модель (поиск, список недавно использовавшихся, "избранное"), создать новую модель или загрузить ее со стороны пользователя.
- 3. Моделирующий пользователь выбирает метод создания геометрической модели.
- 2A. При загрузке геометрической модели, существующей в системе моделирования.
- 1. Система осуществляет проверку доступа пользователя к модели.
- 1А. Доступ запрещен.
- 1. Переход на шаг 4А2.
- 1А. Доступ запрещен.
- 2. Моделирующий пользователь скачивает модель.
- 1. Система осуществляет проверку доступа пользователя к модели.
- 2A. При загрузке геометрической модели, существующей в системе моделирования.
- 4B. Моделирующий пользователь решает загрузить проект с локального хранилища.
- 1. Моделирующий пользователь передает файл проекта системе моделирования.
- 2. Система моделирования проверяет имя экземпляра подсистемы предметной области в файле.
- 2А. В проекте не указано имя экземпляра подсистемы предметной области.
- 1. Система предлагает пользователю выбрать экземпляр подсистемы предметной области (поиск, список недавно использовавшихся, "избранное").
- 2. Моделирующий пользователь выбирает экземпляр подсистемы предметной области.
- 2А. Моделирующий пользователь выбрал некорректный экземпляр подсистемы предметной области (экземпляр по указанному имени не найден, не активен, не доступен для пользователя).
- 1. Повторное выполнение шага 4B2A1.
- 2А. Моделирующий пользователь выбрал некорректный экземпляр подсистемы предметной области (экземпляр по указанному имени не найден, не активен, не доступен для пользователя).
- 2B. Имя указанное в файле проекта некорректно (экземпляр не найден, не активен или доступ к нему со стороны пользователя запрещен).
- 1. Переход на шаг 4B2A1.
- 2А. В проекте не указано имя экземпляра подсистемы предметной области.
- 3. Система моделирования проверяет имя геометрической модели в файле.
- 3A. Имя модели уже зарегистрировано в системе.
- Система уведомляет пользователя о конфликте имен и предлагает подключиться с существующей модели или ...
- 3A. Имя модели уже зарегистрировано в системе.
- 1A. Ошибка соединения с сервером, аутентификации или авторизации моделирующего пользователя, аутентификации экземпляра системы.
- 1. Моделирующий пользователь завершает работу с системой.
- 2A. Моделирующий пользователь решает создать новый модельный проект или загрузить его с локального хранилища.
- 1. Моделирующий пользователь закачивает данные о проекте в систему.
- 2. Моделирующий пользователь задает параметры контроля доступа к проекту.
- 3A В случае создания нового проекта, или если пользователь решает выполнить новое моделирование в выбранной им предметной области
- 1. Пользователь обращается к управляющей подсистемой с запросом на получение списка подсистем предметных областей (т.е. списка самих предметных областей).
- 2. Пользователь выбирает предметную область.
- 3Б Если пользователь решает загрузить проект из банка данных пользователей
- Пользователь получает список доступных ему сохраненных проектов.
- Пользователь выбирает один из проектов
- Пользователь получает имя экземпляра предметной области, для которой задан проект
- Пользователь скачивает модель среды распространения поля
- 4A. Моделирующий пользователь имеет доступ к базе данных предметной области желает поискать интересующие его удельные параметры там.
- 1. Моделирующий пользователь ищет параметры интересующих его элементов геометрической модели среды распределения поля в банках данных системы.
- 1А. Моделирующий пользователь не находит необходимых параметров.
- 1. Моделирующий пользователь задает параметры вручную.
- 2A. Нужные моделирующему пользователю параметры найдены в системе.
- 1. Система создает ассоциацию выбранного моделирующим пользователем объекта с идентификатором параметров в банке данных.
- 1А. Моделирующий пользователь не находит необходимых параметров.
- 1. Моделирующий пользователь ищет параметры интересующих его элементов геометрической модели среды распределения поля в банках данных системы.
- 4B. Моделирующий пользователь не имеет доступа к банку данных на чтение.
- 1. Моделирующий пользователь задает параметры вручную.
- 6A. Моделирующий пользователь имеет доступ к системным банкам данных на чтение и желает поискать параметры выбранных источников поля там.
- 1. Моделирующий пользователь ищет параметры интересующих его источников поля в банках данных системы.
- 1А. Моделирующий пользователь не находит необходимых параметров.
- 1. Моделирующий пользователь задает параметры вручную.
- 2A. Нужные моделирующему пользователю параметры найдены в системе.
- 1. Система создает ассоциацию выбранного моделирующим пользователем объекта с идентификатором параметров в банке данных.
- 1А. Моделирующий пользователь не находит необходимых параметров.
- 1. Моделирующий пользователь ищет параметры интересующих его источников поля в банках данных системы.
- 6B. Моделирующий пользователь не имеет доступа к банку данных на чтение.
- 1. Моделирующий пользователь задает параметры вручную.
- *A. В любое время моделирующий пользователь разрывает соединение.
- 1. Система система закрывает канал связи с пользователем.
- 1A. Отключившийся моделирующий пользователь являлся единственным на момент обнаружения разрыва пользователем, работающим над проектом.
- 1. Система удаляет данные, связанные с модельным проектом, над которым работал отключившийся моделирующий пользователь.
- 1A. Отключившийся моделирующий пользователь являлся единственным на момент обнаружения разрыва пользователем, работающим над проектом.
- 1. Система система закрывает канал связи с пользователем.
- 3-10A. К работе над проектом подключается новый моделирующий пользователь.
- 1. Моделирующий пользователь задает индивидуальные геометрические параметры сетки, на которой будут накапливаться результаты моделирования поля.
- 1A. Моделирующий пользователь изменяет физико-геометрическую модель среды распределения поля.
- 1. Система синхронизирует изменения между пользователями, обеспечивая возможность отката изменений.
- 3-10B. Возникает системная ошибка.
- 1. Система пытается предложить пользователю сохранить проект и разорвать соединение с системой.
- 3-7А. Моделирующий пользователь вводит в систему неверные параметры, причем ошибка ввода обнаруживается до проведения моделирования поля.
- 1. Система предлагает моделирующему пользователю ввести данные еще раз.
- 9A. Система обнаруживает неверно введенные пользователем данные на этапе моделирования поля и исправление возможно на данном этапе.
- 1. Система предлагает пользователю скорректировать ввод или прекратить моделирование.
- 1A. Моделирующий пользователь вводит новые данные.
- 1. Система продолжает моделирование с учетом правки.
- 1B. Моделирующий пользователь отменяет моделирование.
- 1. Система производит откат состояния проекта к состоянию на момент инициации процесса моделирования.
- 1A. Моделирующий пользователь вводит новые данные.
- 1. Система предлагает пользователю скорректировать ввод или прекратить моделирование.
- 9B. Система обнаруживает неверно введенные пользователем данные на этапе моделирования поля, но исправление на данном этапе невозможно.
- 1. Система производит откат состояния проекта к состоянию на момент инициации процесса моделирования.
Нефункциональные требования
Технология реализации и форматы данных
Частота выполнения
Широкий диапазон - от крайне редкого (раз в несколько месяцев) до практически непрерывного (см. масштабируемость).
Открытые вопросы
Необходимо решить как будет реализовываться политика предоставления вычислительного ресурса пользователю или группе пользователей. В настоящий момент видится следующее. Поставщик подсистемы предметной области предоставляет ресурс, выполняющий моделирование в предметной области, как это реализовано программистом предметной области и экспертом предметной области, под управлением предметно-независимых сервисов. Имеющийся сейчас [[[Протокол балансировки нагрузки | протокол балансировки нагрузки]] не предполагает поддержки выделения лишь части ресурса для пользователя, но использует весь ресурс. Кроме того, поскольку разные пользователи, работающие над одним проектом, скорее всего хотят получать разные результаты остается вопрос о том, можно ли использовать один ресурс для разных пользователей, хотя бы частично. Последнее, очевидно, должно зависит от алгоритма, предоставленного экспертом предметной области. Для наших текущих задач данные вопросы не являются важными, поэтому приоритет их разрешения - низкий.
Необходимо более подробно расписать поведение системы в случае исключительной ситуации.