SysML — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «'''SysML''' (англ. The Systems Modeling Language, язык моделирования систем) — предметно-ориентированный яз…») |
Admin (обсуждение | вклад) м |
||
(не показано 11 промежуточных версий этого же участника) | |||
Строка 10: | Строка 10: | ||
* '''Конструкции языка для управления моделью поддерживают модели, представления (англ. views), и точки зрения''' (англ. viewpoints) (используются для создания представлений). Эти конструкции расширяют возможности UML и архитектурно стоят в одном ряду с IEEE-Std-1471-2000 (Рекомендованная IEEE практика для архитектурного описания программно-нагруженных систем) англ. (IEEE Recommended Practice for Architectural Description of Software Intensive Systems). | * '''Конструкции языка для управления моделью поддерживают модели, представления (англ. views), и точки зрения''' (англ. viewpoints) (используются для создания представлений). Эти конструкции расширяют возможности UML и архитектурно стоят в одном ряду с IEEE-Std-1471-2000 (Рекомендованная IEEE практика для архитектурного описания программно-нагруженных систем) англ. (IEEE Recommended Practice for Architectural Description of Software Intensive Systems). | ||
+ | == Диаграммы SysML == | ||
+ | Диаграммы SysML описывают четыре различные области: | ||
+ | * '''Структура''' - архитектурные элементы (логические и физические), т.н. "блоки", а также их взаимосвязи. | ||
+ | ** Диаграммы определений блоков | ||
+ | **: по сути блоки - это классы в языке UML, названные так для простоты и ухода от парадигмы ООП. | ||
+ | **: [[Файл:SysML-block-associations.png|600px]] | ||
+ | ** Диаграммы внутренних блоков | ||
+ | ** Диаграммы пакетов | ||
+ | * '''Поведение''' - то, как ведет себя система, включая смену состояний, последовательности активностей, функции и взаимодействия | ||
+ | ** Диаграммы деятельности | ||
+ | **: - единственная поведенческая диаграмма UML, которая подверглась модификации. Добавлены четыре расширения: | ||
+ | **:* поток управления дополнен управляющим оператором; | ||
+ | **:* с помощью непрерывных потоков объектов стало возможно моделировать непрерывные системы; | ||
+ | **:* с потоками можно ассоциировать вероятности; | ||
+ | **:* расширены правила моделирования деятельности. | ||
+ | **: [[Файл:SysML-activity-diagram.png|600px]] | ||
+ | ** Диаграммы вариантов использования | ||
+ | ** Диаграммы состояний | ||
+ | ** Диаграммы последовательностей | ||
+ | * '''Требования''' | ||
+ | ** Диаграммы требований | ||
+ | **: [[Файл:SysML-requirements-diagram.png|600px]] | ||
+ | * '''Параметрия''' - ограничения параметров, накладываемых на систему. | ||
+ | ** Параметрическая диаграмма | ||
− | + | == Диаграммы требований == | |
− | Основное назначение — | + | Основное назначение — поставить текстовые описания [[требования|требований]] в соответствие элементам [[Описание архитектуры|архитектурных описаний]], интегрировать требования в архитектурную модель. |
− | + | Определены виды таких соответствий (dependency relationships): | |
* '''verify''' (например, к тестовому сценарию или другому элементу, что может определить соответствие), | * '''verify''' (например, к тестовому сценарию или другому элементу, что может определить соответствие), | ||
* '''satisfy''' (к элементу, который уже определяет соответствие), | * '''satisfy''' (к элементу, который уже определяет соответствие), | ||
Строка 22: | Строка 46: | ||
* и т.д. | * и т.д. | ||
− | У этих | + | У этих соответствий может быть указано обоснование ('''rationale'''). Указывается также трассировка (зависимость от требования) и уточнения, а также производность требований друг от друга. |
Требования в SysML могут быть собраны в таблицы — главным образом для удобства восприятия. | Требования в SysML могут быть собраны в таблицы — главным образом для удобства восприятия. | ||
Строка 28: | Строка 52: | ||
Важна идея повторноиспользуемости требований: поэтому вводится отношение копирования — требования-хозяева (master, т.е. "оригиналы") и требования-рабы (slave, т.е. "копии"), которые суть случаи повторного использования требований-хозяев. | Важна идея повторноиспользуемости требований: поэтому вводится отношение копирования — требования-хозяева (master, т.е. "оригиналы") и требования-рабы (slave, т.е. "копии"), которые суть случаи повторного использования требований-хозяев. | ||
− | Главное использование требований в SysML — это аннотация требованиями архитектуры, выраженной в SysML. Конечно, при этом есть [http:// | + | Главное использование требований в SysML — это аннотация требованиями архитектуры, выраженной в SysML. Конечно, при этом есть [http://web1.see.asso.fr/erts2010/Site/0ANDGY78/Fichier/PAPIERS%20ERTS%202010%202/ERTS2010_0087_final.pdf опыт мэппинга требований] SysML в [[RIF]], ибо мало кого устраивает иметь требования привязанными именно к SysML-представлению всех остальных архитектурных, дизайнерских, тестировочных артефактов. Впрочем, [[OMG]] ведет активные согласования RIF (старое название ReqIF), SysML и [[AP 233]] — и при этом приходится дополнять SysML, чтобы удовлетворить RIF (о чем и рассказывается в статье по ссылке). Все это одно и то же по большому счёту: аннотация архитектуры обрывками текста и контроль конфигурации этих обрывков. |
+ | == Привязка == | ||
+ | '''Привязка''' (allocation) - механизм SysML, позволяющий соединять элементы разных моделей. В сам язык встроены три типа привязок: | ||
+ | * '''привязка поведения''' - связывает поведение (представленное на одной или нескольких поведенческих диаграммах) с блоком, который это поведение реализует | ||
+ | * '''привязка структуры''' - соединяет логические структуры с физическими | ||
+ | * '''привязка потока объектов''' - связывает поток элементов (на структурной диаграмме) с дугой потока объекта (на диаграмме деятельности). | ||
+ | Привязки обычно рисуют пунктирной линией. | ||
− | [[Категория:Языки]] | + | == Инструменты == |
+ | Перечень программных продуктов, позволяющих моделировать на SysML: | ||
+ | * [https://www.threesl.com 3SL Cradle] | ||
+ | * [http://www.ansys.com/Products/Embedded-Software/ANSYS-SCADE-System Ansys SCADE System] | ||
+ | * [http://www.ptc.com/model-based-systems-engineering Artisan Studio] | ||
+ | * [http://astah.net/editions/sysml ChangeVision Astah SysML] | ||
+ | * [http://www.conceptdraw.com/solution-park/software-sysml ConceptDraw SysML Solution] | ||
+ | * [https://eclipse.org/papyrus/ Eclipse Papyrus] | ||
+ | * [http://www-03.ibm.com/software/products/en/ratirhapfami IBM Rational Rhapsody] | ||
+ | * [https://www.innoslate.com/systems-engineering/ Innoslate] | ||
+ | * [http://lattix.com/lattix-architect Lattix Architect] | ||
+ | * [https://www.modelio.org/ Modelio] | ||
+ | * [http://www.nomagic.com/products/cameo-systems-modeler.html No Magic Cameo Systems Modeler] | ||
+ | * [https://polarsys.org/capella/ Polarsys Capella] | ||
+ | * [https://www.polarsys.org/topcased Polarsys Topcased] | ||
+ | * [https://www.softwareideas.net/ Software Ideas Modeler] | ||
+ | * [http://www.sparxsystems.com/products/ea/ Sparx Systems Enterprise Architect] | ||
+ | * [https://marketplace.eclipse.org/content/sysml-designer-eclipse-kepler-version SysML Designer] | ||
+ | * [http://www.vitechcorp.com/products/ Vitech CORE] | ||
+ | * [http://www.vitechcorp.com/products/ Vitech GENESYS] | ||
+ | * [https://www.visual-paradigm.com/solution/freeumltool/ Visual Paradigm for UML] | ||
+ | |||
+ | == Ссылки == | ||
+ | * [http://web1.see.asso.fr/erts2010/Site/0ANDGY78/Fichier/PAPIERS%20ERTS%202010%202/ERTS2010_0087_final.pdf Мэппинг требований SysML в RIF] | ||
+ | |||
+ | [[Категория:Языки моделирования]] | ||
+ | [[Категория: Стандарты представления данных]] |
Текущая версия на 21:40, 5 января 2018
SysML (англ. The Systems Modeling Language, язык моделирования систем) — предметно-ориентированный язык моделирования систем. Поддерживает определение, анализ, проектирование, проверку и подтверждение соответствия широкого спектра систем. SysML изначально разрабатывался в рамках проекта спецификации с открытым исходным кодом, и имеет открытую лицензию для распространения и использования. Как язык, SysML является расширением части языка UML.
Возможности
По сравнению с UML, ориентированным на моделирование программных продуктов, SysML предоставляет системному инженеру дополнительные возможности:
- Большая гибкость и выразительность. SysML убирает программно-ориентированные ограничения UML за счёт введения двух дополнительных типов диаграмм:
- диаграммы требований - для сбора требований
- параметрическая диаграмма - для количественного анализа и анализа производительности.
- В результате становится возможным моделирование широкого спектра систем, которые могут включать оборудование, ПО, информацию, процессы, персонал и площади.
- SysML более компактный язык, его легче изучать и применять, так как он избавлен от многих программно-ориентированных особенностей UML.
- Конструкции языка для управления моделью поддерживают модели, представления (англ. views), и точки зрения (англ. viewpoints) (используются для создания представлений). Эти конструкции расширяют возможности UML и архитектурно стоят в одном ряду с IEEE-Std-1471-2000 (Рекомендованная IEEE практика для архитектурного описания программно-нагруженных систем) англ. (IEEE Recommended Practice for Architectural Description of Software Intensive Systems).
Диаграммы SysML
Диаграммы SysML описывают четыре различные области:
- Структура - архитектурные элементы (логические и физические), т.н. "блоки", а также их взаимосвязи.
- Поведение - то, как ведет себя система, включая смену состояний, последовательности активностей, функции и взаимодействия
- Диаграммы деятельности
- - единственная поведенческая диаграмма UML, которая подверглась модификации. Добавлены четыре расширения:
- поток управления дополнен управляющим оператором;
- с помощью непрерывных потоков объектов стало возможно моделировать непрерывные системы;
- с потоками можно ассоциировать вероятности;
- расширены правила моделирования деятельности.
- - единственная поведенческая диаграмма UML, которая подверглась модификации. Добавлены четыре расширения:
- Диаграммы вариантов использования
- Диаграммы состояний
- Диаграммы последовательностей
- Диаграммы деятельности
- Требования
- Параметрия - ограничения параметров, накладываемых на систему.
- Параметрическая диаграмма
Диаграммы требований
Основное назначение — поставить текстовые описания требований в соответствие элементам архитектурных описаний, интегрировать требования в архитектурную модель.
Определены виды таких соответствий (dependency relationships):
- verify (например, к тестовому сценарию или другому элементу, что может определить соответствие),
- satisfy (к элементу, который уже определяет соответствие),
- refine
- trace
- copy
- и т.д.
У этих соответствий может быть указано обоснование (rationale). Указывается также трассировка (зависимость от требования) и уточнения, а также производность требований друг от друга.
Требования в SysML могут быть собраны в таблицы — главным образом для удобства восприятия.
Важна идея повторноиспользуемости требований: поэтому вводится отношение копирования — требования-хозяева (master, т.е. "оригиналы") и требования-рабы (slave, т.е. "копии"), которые суть случаи повторного использования требований-хозяев.
Главное использование требований в SysML — это аннотация требованиями архитектуры, выраженной в SysML. Конечно, при этом есть опыт мэппинга требований SysML в RIF, ибо мало кого устраивает иметь требования привязанными именно к SysML-представлению всех остальных архитектурных, дизайнерских, тестировочных артефактов. Впрочем, OMG ведет активные согласования RIF (старое название ReqIF), SysML и AP 233 — и при этом приходится дополнять SysML, чтобы удовлетворить RIF (о чем и рассказывается в статье по ссылке). Все это одно и то же по большому счёту: аннотация архитектуры обрывками текста и контроль конфигурации этих обрывков.
Привязка
Привязка (allocation) - механизм SysML, позволяющий соединять элементы разных моделей. В сам язык встроены три типа привязок:
- привязка поведения - связывает поведение (представленное на одной или нескольких поведенческих диаграммах) с блоком, который это поведение реализует
- привязка структуры - соединяет логические структуры с физическими
- привязка потока объектов - связывает поток элементов (на структурной диаграмме) с дугой потока объекта (на диаграмме деятельности).
Привязки обычно рисуют пунктирной линией.
Инструменты
Перечень программных продуктов, позволяющих моделировать на SysML:
- 3SL Cradle
- Ansys SCADE System
- Artisan Studio
- ChangeVision Astah SysML
- ConceptDraw SysML Solution
- Eclipse Papyrus
- IBM Rational Rhapsody
- Innoslate
- Lattix Architect
- Modelio
- No Magic Cameo Systems Modeler
- Polarsys Capella
- Polarsys Topcased
- Software Ideas Modeler
- Sparx Systems Enterprise Architect
- SysML Designer
- Vitech CORE
- Vitech GENESYS
- Visual Paradigm for UML