Для иллюстрирования структуры и организации системы с точки зрения процессов применяется архитектурное представление,
называющееся представлением процессов. Процессами и нитями, с другой
стороны. Представление процессов уточняется в ходе каждой итерации. Как указано в публикации [BOO98], "В UML статические и динамические аспекты этого представления иллюстрируются
с помощью тех же диаграмм, что применяются в представлении проекта, т.е. диаграмм классов, диаграмм взаимодействия,
диаграмм операций и диаграмм состояний, но с акцентом на активных классах, представляющих соответствующие нити и
процессы". При разработке дерева процессов и работе с ним важную роль играют такие обстоятельства, как особенности
параллельного выполнения, время отклика, наличие узких мест, пропускная способность, отказоустойчивость и
расширяемость.
Для реализации параллелизма не обязательно нужна поддержка параллелизма в операционной системе - например, можно
воспользоваться специальным планировщиком или другой аналогичной инфраструктурой. В подобных случаях параллелизм
стимулируется на уровне инфраструктуры, а не на уровне операционной системы. При необходимости для обеспечения этого
различия могут применяться и другие стереотипы (помимо стандартных нитей и процессов). Например, в языке
программирования Ada предусмотрена собственная модель параллелизма на основе задач Ada, и среда выполнения Ada должна
обеспечить параллелизм независимо от того, есть ли его поддержка в операционной системе.
В системах реального времени Rational Unified Process рекомендуется применять Капсулы для
представления активных классов в дереве процессов. Капсулы имеют строгую семантику для упрощения моделирования
параллелизма:
-
В них применяется асинхронный обмен данными через порты по стандартным протоколам.
-
Для обработки сообщений в них применяется семантика выполнения до завершения.
-
В них инкапсулированы пассивные объекты (это гарантирует отсутствие конфликтов между нитями).
Представление процессов применяется для моделирования структуры процессов системы.
Предусмотрены еще четыре представления: представление вариантов использования (используется в потоке операций
управления требованиями), а также логическое представление, представление развертывания и
представление реализации, используемые в потоке операций анализа, проектирования и реализации.
Подробную информацию об архитектурных представлениях можно найти в документе по архитектуре программного
обеспечения. Для иллюстрирования особых аспектов архитектуры программного обеспечения можно создавать и другие
представления, например представление защиты.
По сути архитектурные представления можно считать абстракциями или упрощенными вариантами модели, в которых
первоочередное внимание уделяется важнейшим характеристикам. Архитектура - это важный инструмент повышения качества
всех моделей, создаваемых в процессе разработки системы.
|