Язык системного моделирования ( SysML ) [1] — это язык моделирования общего назначения для приложений системной инженерии . Он поддерживает спецификацию, анализ , проектирование , проверку и валидацию широкого спектра систем и систем систем .
SysML изначально был разработан в рамках проекта спецификации с открытым исходным кодом и включает лицензию с открытым исходным кодом для распространения и использования. [2] SysML определяется как расширение подмножества унифицированного языка моделирования (UML) с использованием механизма профилей UML . Расширения языка были разработаны для поддержки системной инженерии.
SysML предлагает несколько улучшений, касающихся системной инженерии, по сравнению с UML , который был разработан как язык моделирования программного обеспечения. Эти улучшения включают следующее:
SysML повторно использует семь из четырнадцати « именительных » типов диаграмм UML 2 [4] и добавляет две диаграммы (диаграммы требований и параметрические диаграммы), в результате чего получается девять типов диаграмм. SysML также поддерживает таблицы распределения — табличный формат, который можно динамически получить из отношений распределения SysML. Таблица, в которой сравниваются диаграммы SysML и UML 2, доступна в FAQ по SysML.
Рассмотрите возможность моделирования автомобильной системы: с помощью SysML можно использовать диаграммы требований для эффективного определения функциональных требований, требований к производительности и интерфейсу, тогда как с помощью UML применяются ограничения диаграмм вариантов использования для определения функциональных требований высокого уровня. Аналогичным образом, с помощью SysML можно использовать параметрические диаграммы для точного определения производительности и количественных ограничений, таких как максимальное ускорение , минимальная снаряженная масса и общая мощность кондиционирования воздуха . UML не предоставляет простого механизма для сбора такого рода важной информации о производительности и количественной информации.
Что касается остальной части автомобильной системы, расширенные диаграммы активности и диаграммы конечных автоматов могут использоваться для определения встроенной логики управления программным обеспечением и информационных потоков для бортовых автомобильных компьютеров. Другие структурные и поведенческие диаграммы SysML можно использовать для моделирования заводов, производящих автомобили, а также интерфейсов между организациями, работающими на заводах.
Инициатива SysML возникла в январе 2001 года решением рабочей группы по проектированию систем, управляемых моделями Международного совета по системной инженерии (INCOSE), о настройке UML для приложений системного проектирования. Следуя этому решению, INCOSE и Группа управления объектами (OMG), которая поддерживает спецификацию UML, в июле 2001 года совместно учредили Группу специальных интересов в области системного проектирования OMG (SE DSIG). SE DSIG при поддержке INCOSE и ISO AP. 233 разработала требования к языку моделирования, которые впоследствии были выпущены OMG в UML для запроса предложений по системному проектированию (UML для SE RFP; документ OMG ad/03-03-41) в марте 2003 года. [5] ]
В 2003 году Дэвид Оливер и Сэнфорд Фриденталь из INCOSE попросили Криса Кобрина , который успешно возглавлял группы разработчиков языков UML 1 и UML 2, возглавить их совместную работу по ответу на запрос предложений UML для SE. [6] Будучи председателем SysML Partners, Кобрин придумал название языка «SysML» (сокращение от «Язык моделирования систем»), разработал оригинальный логотип SysML и организовал группу разработчиков языка SysML как проект спецификации с открытым исходным кодом. [7] Фриденталь был заместителем председателя и помог организовать первоначальную команду SysML Partners.
В январе 2005 года компания SysML Partners опубликовала проект спецификации SysML v0.9. Позже, в августе 2005 года, Фриденталь и несколько других первоначальных партнеров SysML ушли, чтобы создать конкурирующую команду подачи SysML (SST). [6] Компания SysML Partners выпустила спецификацию SysML v1.0 Alpha в ноябре 2005 года.
После серии конкурирующих предложений по спецификациям SysML в апреле 2006 года OMG была предложена группа по слиянию SysML . спецификация, из которой он был получен. Поскольку OMG SysML создан на основе SysML с открытым исходным кодом, он также включает лицензию с открытым исходным кодом для распространения и использования.
Спецификация OMG SysML v. 1.0 была выпущена OMG как доступная спецификация в сентябре 2007 года. [9] Текущая версия OMG SysML — v1.6, выпущенная OMG в декабре 2019 года. [10] Кроме того, SysML был опубликован Международной организацией по стандартизации (ISO) в 2017 году как полный международный стандарт (IS) ISO/IEC 19514:2017 (Информационные технологии — язык моделирования групповых систем управления объектами). [11]
OMG работает над следующим поколением SysML и 8 декабря 2017 года опубликовал запрос предложений (RFP) для версии 2 после открытого процесса стандартизации. [12] [13] Итоговая спецификация, которая будет включать усовершенствования языка, основанные на опыте применения языка, будет включать профиль UML, метамодель и сопоставление между профилем и метамоделью. [12] Второй запрос предложений на интерфейс прикладного программирования (API) и сервисы SysML v2 был выпущен в июне 2018 года. Его цель — повысить функциональную совместимость инструментов системного проектирования на основе моделей .
SysML включает 9 типов диаграмм, некоторые из которых взяты из UML .
Есть несколько поставщиков инструментов моделирования, предлагающих поддержку SysML. Списки поставщиков инструментов, поддерживающих SysML или OMG SysML, можно найти на веб-сайтах SysML Forum [14] или SysML [15] соответственно.
В качестве профиля OMG UML 2.0 модели SysML предназначены для обмена с использованием стандарта обмена метаданными XML (XMI). Кроме того, ведутся работы по согласованию архитектуры для поддержки стандарта ISO 10303 (также известного как STEP, стандарт обмена данными модели продукта) AP-233 для обмена информацией между программными приложениями и инструментами системного проектирования .