SysML — различия между версиями

м
 
(не показано 10 промежуточных версий этого же участника)
Строка 9: Строка 9:
 
* '''SysML более компактный язык''', его легче изучать и применять, так как он избавлен от многих программно-ориентированных особенностей UML.
 
* '''SysML более компактный язык''', его легче изучать и применять, так как он избавлен от многих программно-ориентированных особенностей UML.
 
* '''Конструкции языка для управления моделью поддерживают модели, представления (англ. 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 ==
 
Диаграммы SysML описывают четыре различные области:
 
Диаграммы SysML описывают четыре различные области:
 
* '''Структура''' - архитектурные элементы (логические и физические), т.н. "блоки", а также их взаимосвязи.
 
* '''Структура''' - архитектурные элементы (логические и физические), т.н. "блоки", а также их взаимосвязи.
 +
** Диаграммы определений блоков
 +
**: по сути блоки - это классы в языке UML, названные так для простоты и ухода от парадигмы ООП.
 +
**: [[Файл:SysML-block-associations.png|600px]]
 +
** Диаграммы внутренних блоков
 +
** Диаграммы пакетов
 
* '''Поведение''' - то, как ведет себя система, включая смену состояний, последовательности активностей, функции и взаимодействия
 
* '''Поведение''' - то, как ведет себя система, включая смену состояний, последовательности активностей, функции и взаимодействия
 +
** Диаграммы деятельности
 +
**: - единственная поведенческая диаграмма UML, которая подверглась модификации. Добавлены четыре расширения:
 +
**:* поток управления дополнен управляющим оператором;
 +
**:* с помощью непрерывных потоков объектов стало возможно моделировать непрерывные системы;
 +
**:* с потоками можно ассоциировать вероятности;
 +
**:* расширены правила моделирования деятельности.
 +
**: [[Файл:SysML-activity-diagram.png|600px]]
 +
** Диаграммы вариантов использования
 +
** Диаграммы состояний
 +
** Диаграммы последовательностей
 
* '''Требования'''
 
* '''Требования'''
 +
** Диаграммы требований
 +
**: [[Файл:SysML-requirements-diagram.png|600px]]
 
* '''Параметрия''' - ограничения параметров, накладываемых на систему.
 
* '''Параметрия''' - ограничения параметров, накладываемых на систему.
 +
** Параметрическая диаграмма
  
 
== Диаграммы требований ==
 
== Диаграммы требований ==
Основное назначение — привязать текстовые описания требований к элементам архитектурных описаний, интегрировать требования в архитектурную модель.
+
Основное назначение — поставить текстовые описания [[требования|требований]] в соответствие элементам [[Описание архитектуры|архитектурных описаний]], интегрировать требования в архитектурную модель.
  
Привязки этих текстов (dependency relationships) вполне определенные:
+
Определены виды таких соответствий (dependency relationships):
 
* '''verify''' (например, к тестовому сценарию или другому элементу, что может определить соответствие),
 
* '''verify''' (например, к тестовому сценарию или другому элементу, что может определить соответствие),
 
* '''satisfy''' (к элементу, который уже определяет соответствие),
 
* '''satisfy''' (к элементу, который уже определяет соответствие),
Строка 29: Строка 46:
 
* и т.д.
 
* и т.д.
  
У этих привязок-отношений может быть указано обоснование ('''rationale'''). Указывается также трассировка (зависимость от требования) и уточнения, а также производность требований друг от друга.
+
У этих соответствий может быть указано обоснование ('''rationale'''). Указывается также трассировка (зависимость от требования) и уточнения, а также производность требований друг от друга.
  
 
Требования в SysML могут быть собраны в таблицы — главным образом для удобства восприятия.  
 
Требования в SysML могут быть собраны в таблицы — главным образом для удобства восприятия.  
Строка 35: Строка 52:
 
Важна идея повторноиспользуемости требований: поэтому вводится отношение копирования — требования-хозяева (master, т.е. "оригиналы") и требования-рабы (slave, т.е. "копии"), которые суть случаи повторного использования требований-хозяев.
 
Важна идея повторноиспользуемости требований: поэтому вводится отношение копирования — требования-хозяева (master, т.е. "оригиналы") и требования-рабы (slave, т.е. "копии"), которые суть случаи повторного использования требований-хозяев.
  
Главное использование требований в SysML — это аннотация требованиями архитектуры, выраженной в SysML. Конечно, при этом есть [http://www.erts2010.org/Site/0ANDGY78/Fichier/PAPIERS%20ERTS%202010%202/ERTS2010_0087_final.pdf опыт мэппинга требований] SysML в [[RIF]], ибо мало кого устраивает иметь требования привязанными именно к SysML-представлению всех остальных архитектурных, дизайнерских, тестировочных артефактов. Впрочем, [[OMG]] ведет активные согласования RIF (старое название ReqIF), SysML и [[AP233]] — и при этом приходится дополнять SysML, чтобы удовлетворить RIF (о чем и рассказывается в статье по ссылке). Все это одно и то же по большому счёту: аннотация архитектуры обрывками текста и контроль конфигурации этих обрывков.
+
Главное использование требований в 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, названные так для простоты и ухода от парадигмы ООП.
      SysML-block-associations.png
    • Диаграммы внутренних блоков
    • Диаграммы пакетов
  • Поведение - то, как ведет себя система, включая смену состояний, последовательности активностей, функции и взаимодействия
    • Диаграммы деятельности
      - единственная поведенческая диаграмма UML, которая подверглась модификации. Добавлены четыре расширения:
      • поток управления дополнен управляющим оператором;
      • с помощью непрерывных потоков объектов стало возможно моделировать непрерывные системы;
      • с потоками можно ассоциировать вероятности;
      • расширены правила моделирования деятельности.
      SysML-activity-diagram.png
    • Диаграммы вариантов использования
    • Диаграммы состояний
    • Диаграммы последовательностей
  • Требования
    • Диаграммы требований
      SysML-requirements-diagram.png
  • Параметрия - ограничения параметров, накладываемых на систему.
    • Параметрическая диаграмма

Диаграммы требований

Основное назначение — поставить текстовые описания требований в соответствие элементам архитектурных описаний, интегрировать требования в архитектурную модель.

Определены виды таких соответствий (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:

Ссылки